當前位置: 首頁>>代碼示例>>PHP>>正文


PHP eZTemplateCompiler::staticNodeData方法代碼示例

本文整理匯總了PHP中eZTemplateCompiler::staticNodeData方法的典型用法代碼示例。如果您正苦於以下問題:PHP eZTemplateCompiler::staticNodeData方法的具體用法?PHP eZTemplateCompiler::staticNodeData怎麽用?PHP eZTemplateCompiler::staticNodeData使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在eZTemplateCompiler的用法示例。


在下文中一共展示了eZTemplateCompiler::staticNodeData方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: combineStaticNodes

 static function combineStaticNodes($tpl, &$resourceData, &$lastNode, &$newNode)
 {
     if ($lastNode == false or $newNode == false) {
         return false;
     }
     $lastNodeType = $lastNode[0];
     $newNodeType = $newNode[0];
     if (!in_array($lastNodeType, array(eZTemplate::NODE_TEXT, eZTemplate::NODE_VARIABLE)) or !in_array($newNodeType, array(eZTemplate::NODE_TEXT, eZTemplate::NODE_VARIABLE))) {
         return false;
     }
     if ($lastNodeType == eZTemplate::NODE_VARIABLE) {
         if (is_array($lastNode[1])) {
             return false;
         }
         $lastDataInspection = eZTemplateCompiler::inspectVariableData($tpl, $lastNode[2], $lastNode[3], $resourceData);
         if (!$lastDataInspection['is-constant'] or $lastDataInspection['is-variable'] or $lastDataInspection['has-attributes'] or $lastDataInspection['has-operators']) {
             return false;
         }
         if (isset($lastNode[4]) and isset($lastNode[4]['text-result']) and !$lastNode[4]['text-result']) {
             return false;
         }
     }
     if ($newNodeType == eZTemplate::NODE_VARIABLE) {
         if (is_array($newNode[1])) {
             return false;
         }
         $newDataInspection = eZTemplateCompiler::inspectVariableData($tpl, $newNode[2], $newNode[3], $resourceData);
         if (!$newDataInspection['is-constant'] or $newDataInspection['is-variable'] or $newDataInspection['has-attributes'] or $newDataInspection['has-operators']) {
             return false;
         }
         if (isset($newNode[4]) and isset($newNode[4]['text-result']) and !$newNode[4]['text-result']) {
             return false;
         }
         if (isset($newNode[1]) and $newNode[1] !== false) {
             return false;
         }
     }
     $textElements = array();
     $lastNodeData = eZTemplateCompiler::staticNodeData($lastNode);
     $newNodeData = eZTemplateCompiler::staticNodeData($newNode);
     $tpl->appendElementText($textElements, $lastNodeData, false, false);
     $tpl->appendElementText($textElements, $newNodeData, false, false);
     $newData = implode('', $textElements);
     $newPlacement = $lastNode[3];
     if (!is_array($newPlacement)) {
         $newPlacement = $newNode[3];
     } else {
         $newPlacement[1][0] = $newNode[3][1][0];
         // Line end
         $newPlacement[1][1] = $newNode[3][1][1];
         // Column end
         $newPlacement[1][2] = $newNode[3][1][2];
         // Position end
     }
     $lastNode = false;
     $newNode = array(eZTemplate::NODE_TEXT, false, $newData, $newPlacement);
 }
開發者ID:runelangseid,項目名稱:ezpublish,代碼行數:57,代碼來源:eztemplatecompiler.php


注:本文中的eZTemplateCompiler::staticNodeData方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。