本文整理匯總了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]);
//.........這裏部分代碼省略.........