本文整理汇总了PHP中eZTemplateNodeTool::extractFunctionNodeName方法的典型用法代码示例。如果您正苦于以下问题:PHP eZTemplateNodeTool::extractFunctionNodeName方法的具体用法?PHP eZTemplateNodeTool::extractFunctionNodeName怎么用?PHP eZTemplateNodeTool::extractFunctionNodeName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZTemplateNodeTool
的用法示例。
在下文中一共展示了eZTemplateNodeTool::extractFunctionNodeName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: templateNodeTransformation
//.........这里部分代码省略.........
$code .= " unset( \$last );\n" . " \$last = false;\n";
$newNodes[] = eZTemplateNodeTool::createCodePieceNode($code);
$code = '';
if ($useLastValue) {
$code .= " if ( \$currentIndex > 1 )\n" . " {\n" . " \$last = \$lastVariableValue;\n" . " \$variableValue = new eZTemplateSectionIterator();\n" . " }\n";
}
if ($varName) {
$code .= " \$variableValue->setIteratorValues( \$item, \$loopKey, \$currentIndex - 1, \$currentIndex, false, \$last );";
$newNodes[] = eZTemplateNodeTool::createCodePieceNode($code);
$newNodes[] = eZTemplateNodeTool::createVariableNode(false, 'variableValue', eZTemplateNodeTool::extractFunctionNodePlacement($node), array('spacing' => 4), array('', eZTemplate::NAMESPACE_SCOPE_RELATIVE, $varName), false, true, true);
} else {
$newNodes[] = eZTemplateNodeTool::createVariableNode(false, 'loopKey', eZTemplateNodeTool::extractFunctionNodePlacement($node), array('spacing' => 4), array('', eZTemplate::NAMESPACE_SCOPE_RELATIVE, 'key'), false, true, true);
$newNodes[] = eZTemplateNodeTool::createVariableNode(false, 'item', eZTemplateNodeTool::extractFunctionNodePlacement($node), array('spacing' => 4), array('', eZTemplate::NAMESPACE_SCOPE_RELATIVE, 'item'), false, true, true);
$newNodes[] = eZTemplateNodeTool::createCodePieceNode("\$currentIndexInc = \$currentIndex - 1;\n");
$newNodes[] = eZTemplateNodeTool::createVariableNode(false, 'currentIndexInc', eZTemplateNodeTool::extractFunctionNodePlacement($node), array('spacing' => 4), array('', eZTemplate::NAMESPACE_SCOPE_RELATIVE, 'index'), false, true, true);
$newNodes[] = eZTemplateNodeTool::createVariableNode(false, 'currentIndex', eZTemplateNodeTool::extractFunctionNodePlacement($node), array('spacing' => 4), array('', eZTemplate::NAMESPACE_SCOPE_RELATIVE, 'number'), false, true, true);
}
$mainSpacing = 0;
$hasFilter = false;
if (count($filterNodes) > 0) {
$newFilterNodes = array();
$matchValue = true;
$hasDynamicFilter = false;
foreach ($filterNodes as $filterNode) {
$filterParameters = eZTemplateNodeTool::extractFunctionNodeParameters($filterNode);
if (!isset($filterParameters['match'])) {
continue;
}
$hasFilter = true;
$filterParameterMatch = $filterParameters['match'];
$filterParameterMatch = eZTemplateCompiler::processElementTransformationList($tpl, $filterNode, $filterParameterMatch, $privateData);
if (eZTemplateNodeTool::isConstantElement($filterParameterMatch)) {
$matchValue = eZTemplateNodeTool::elementConstantValue($filterParameterMatch);
if (eZTemplateNodeTool::extractFunctionNodeName($filterNode) == 'section-exclude') {
if ($matchValue) {
$matchValue = false;
}
} else {
if ($matchValue) {
$matchValue = true;
}
}
$newFilterNodes = array();
$hasDynamicFilter = false;
} else {
$newFilterNodes[] = eZTemplateNodeTool::createVariableNode(false, $filterParameterMatch, eZTemplateNodeTool::extractFunctionNodePlacement($filterNode), array('spacing' => 4), 'tmpMatchValue');
if (eZTemplateNodeTool::extractFunctionNodeName($filterNode) == 'section-exclude') {
$newFilterNodes[] = eZTemplateNodeTool::createCodePieceNode("if ( \$tmpMatchValue )\n \$matchValue = false;", array('spacing' => 4));
} else {
$newFilterNodes[] = eZTemplateNodeTool::createCodePieceNode("if ( \$tmpMatchValue )\n \$matchValue = true;", array('spacing' => 4));
}
$hasDynamicFilter = true;
}
}
if ($hasFilter) {
$mainSpacing += 4;
$newNodes[] = eZTemplateNodeTool::createVariableNode(false, $matchValue, eZTemplateNodeTool::extractFunctionNodePlacement($filterNode), array('spacing' => 4), 'matchValue');
if ($hasDynamicFilter) {
$newNodes = array_merge($newNodes, $newFilterNodes);
}
$newNodes[] = eZTemplateNodeTool::createCodePieceNode("if ( \$matchValue )\n{\n", array('spacing' => 4));
}
}
$sequencePopText = '';
if ($hasSequence) {
$sequencePopText = ", \$sequence";