本文整理汇总了PHP中eZTemplateNodeTool::extractVariableNodePlacement方法的典型用法代码示例。如果您正苦于以下问题:PHP eZTemplateNodeTool::extractVariableNodePlacement方法的具体用法?PHP eZTemplateNodeTool::extractVariableNodePlacement怎么用?PHP eZTemplateNodeTool::extractVariableNodePlacement使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZTemplateNodeTool
的用法示例。
在下文中一共展示了eZTemplateNodeTool::extractVariableNodePlacement方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: chooseTransformation
function chooseTransformation( $operatorName, &$node, $tpl, &$resourceData,
$element, $lastElement, $elementList, $elementTree, &$parameters )
{
$values = array();
$function = $operatorName;
if ( ( count( $parameters ) < 2) )
{
return false;
}
$tmpValues = false;
$newElements = array();
if ( eZTemplateNodeTool::isConstantElement( $parameters[0] ) )
{
$selected = eZTemplateNodeTool::elementConstantValue( $parameters[0] );
if ( $selected < 0 or $selected > ( count( $parameters ) - 1 ) )
{
return false;
}
return $parameters[$selected + 1];
}
else
{
$values[] = $parameters[0];
$array = $parameters;
unset( $array[0] );
$count = count( $parameters ) - 1;
$operatorNameText = eZPHPCreator::variableText( $operatorName );
if ( count( $parameters ) == ( 2 + 1 ) )
{
$code = "%output% = %1% ? %3% : %2%;\n";
$values[] = $parameters[1];
$values[] = $parameters[2];
}
else
{
$code = ( "if ( %1% < 0 and\n" .
" %1% >= $count )\n" .
"{\n" .
" \$tpl->error( $operatorNameText, \"Index \" . %1% . \" out of range\" );\n" .
" %output% = false;\n" .
"}\n" );
$code .= "else switch ( %1% )\n{\n";
$valueNumber = 2;
for ( $i = 0; $i < $count; ++$i )
{
$parameterNumber = $i + 1;
$code .= " case $i:";
if ( eZTemplateNodeTool::isConstantElement( $parameters[$parameterNumber] ) )
{
$value = eZTemplateNodeTool::elementConstantValue( $parameters[$parameterNumber] );
$valueText = eZPHPCreator::variableText( $value, 0, 0, false );
$code .= " %output% = $valueText; break;\n";
}
else
{
$code .= "\n {\n";
$code .= "%code$valueNumber%\n";
$code .= "%output% = %$valueNumber%;\n";
$code .= " } break;\n";
$values[] = $parameters[$parameterNumber];
++$valueNumber;
}
}
$code .= "}\n";
}
}
$newElements[] = eZTemplateNodeTool::createCodePieceElement( $code, $values, eZTemplateNodeTool::extractVariableNodePlacement( $node ), false );
return $newElements;
}