本文整理汇总了PHP中eZTemplateNodeTool::createDynamicArrayElement方法的典型用法代码示例。如果您正苦于以下问题:PHP eZTemplateNodeTool::createDynamicArrayElement方法的具体用法?PHP eZTemplateNodeTool::createDynamicArrayElement怎么用?PHP eZTemplateNodeTool::createDynamicArrayElement使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZTemplateNodeTool
的用法示例。
在下文中一共展示了eZTemplateNodeTool::createDynamicArrayElement方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: arrayTrans
function arrayTrans($operatorName, &$node, $tpl, &$resourceData, $element, $lastElement, $elementList, $elementTree, &$parameters)
{
switch ($operatorName) {
case $this->ArrayName:
$code = '';
$paramCount = 0;
$values = array();
$staticArray = array();
for ($i = 0; $i < count($parameters); ++$i) {
if ($i != 0) {
$code .= ', ';
} else {
$code .= '%output% = array( ';
}
if (!eZTemplateNodeTool::isStaticElement($parameters[$i])) {
$values[] = $parameters[$i];
++$paramCount;
$code .= '%' . $paramCount . '%';
} else {
if ($paramCount == 0) {
$staticArray[] = eZTemplateNodeTool::elementStaticValue($parameters[$i]);
}
$code .= eZPHPCreator::variableText(eZTemplateNodeTool::elementStaticValue($parameters[$i]), 0, 0, false);
}
}
if ($paramCount == 0) {
return array(eZTemplateNodeTool::createArrayElement($staticArray));
}
$code .= ' );';
return array(eZTemplateNodeTool::createCodePieceElement($code, $values));
break;
case $this->HashName:
$code = '';
$paramCount = 0;
$values = array();
$staticArray = array();
$staticKeys = true;
$keys = array();
$vals = array();
$hashCount = (int) (count($parameters) / 2);
for ($i = 0; $i < $hashCount; ++$i) {
if ($i != 0) {
$code .= ', ';
} else {
$code .= '%output% = array( ';
}
if (!eZTemplateNodeTool::isStaticElement($parameters[$i * 2])) {
$staticKeys = false;
$values[] = $parameters[$i * 2];
++$paramCount;
$code .= '%' . $paramCount . '%';
} else {
$keys[] = eZTemplateNodeTool::elementStaticValue($parameters[$i * 2]);
$code .= eZPHPCreator::variableText(eZTemplateNodeTool::elementStaticValue($parameters[$i * 2]), 0, 0, false);
}
$code .= ' => ';
if (!eZTemplateNodeTool::isStaticElement($parameters[$i * 2 + 1])) {
$values[] = $parameters[$i * 2 + 1];
++$paramCount;
$code .= '%' . $paramCount . '%';
} else {
if ($paramCount == 0) {
$staticArray[eZTemplateNodeTool::elementStaticValue($parameters[$i * 2])] = eZTemplateNodeTool::elementStaticValue($parameters[$i * 2 + 1]);
}
$code .= eZPHPCreator::variableText(eZTemplateNodeTool::elementStaticValue($parameters[$i * 2 + 1]), 0, 0, false);
}
if ($staticKeys) {
$vals[$keys[count($keys) - 1]] = $parameters[$i * 2 + 1];
}
}
if ($paramCount == 0) {
return array(eZTemplateNodeTool::createArrayElement($staticArray));
}
if ($staticKeys) {
return array(eZTemplateNodeTool::createDynamicArrayElement($keys, $vals));
}
$code .= ' );';
return array(eZTemplateNodeTool::createCodePieceElement($code, $values));
break;
case $this->ContainsName:
$values = array();
$inParam = null;
$isString = false;
$isArray = false;
if (eZTemplateNodeTool::isStaticElement($parameters[0])) {
$inParam = eZTemplateNodeTool::elementStaticValue($parameters[0]);
if (is_string($inParam)) {
$isString = true;
} else {
if (is_array($inParam)) {
$isArray = true;
}
}
$inParamCode = eZPHPCreator::variableText($inParam, 0, 0, false);
} else {
$values[] = $parameters[0];
$inParamCode = '%' . count($values) . '%';
}
if (eZTemplateNodeTool::isStaticElement($parameters[1])) {
$matchParam = eZTemplateNodeTool::elementStaticValue($parameters[1]);
//.........这里部分代码省略.........