当前位置: 首页>>代码示例>>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;未经允许,请勿转载。