我在ezpublish中计算数组键值时遇到问题,其php函数是
array_count_values();
我需要在ezpublish中使用类似的功能。在ezpublish中是否有任何运营商,或者我也必须为其进行扩展?
答案 0 :(得分:3)
经过长时间的研究,我发现array_count_values();
没有任何ez发布模板运算符,我们必须对其进行扩展。延伸的过程在下面的链接中给出。
http://blog.developeronhire.com/using-custom-php-functions-in-ez-publish-templates/
谢谢大家
答案 1 :(得分:1)
计数运算符就是你在这里寻找的,它出现了:
{def $arrayCount = $myArray|count()}
文档中有关此运算符的更多信息:http://doc.ez.no/eZ-Publish/Technical-manual/4.x/Reference/Template-operators/Variable-and-type-handling/count
一般情况下,您也可以在eZ Publish社区门户网站上放弃您的问题:http://share.ez.no(但我认为您已经知道这个地方了;)
希望它有所帮助, 欢呼声,
答案 2 :(得分:1)
您可以将php函数声明为new template operator,以便使用模板。
将其添加到template.ini覆盖文件。
答案 3 :(得分:1)
正如Nicolas所说,如果出现以下情况,您可以将任何PHP函数映射到模板运算符:
所以做你想做的事情非常简单,因为array_key_values()是一个很好的候选人并符合要求。
答案 4 :(得分:0)
试试这个
function count_array_key($arr)
{
return count(array_keys($arr));
}
使用
$array = array("color" => array("blue", "red", "green"),
"size" => array("small", "medium", "large"));
echo count_array_key($array);
答案 5 :(得分:0)
如果您需要使用PHP原生函数,您真的应该使用此扩展名:http://projects.ez.no/wrap_operator
您只需在扩展程序的ini文件中启用所选功能,并在模板中使用它。
例如:
{def $html = wrap_php_func('str_replace', array('&', '&', $article.data_map.descriptif.data_text))}
它会拯救你的生命!
答案 6 :(得分:0)
如果将其添加到您网站扩展程序的template.ini不起作用,只需创建自动加载即可。它们很容易创建,我经常添加我需要的任何PHP函数。您不需要自动加载的新扩展名,只需将其添加到 autoloads 目录中的现有扩展名即可。 不要忘记在eztemplateautoload.php文件中声明自动加载,您可能还必须将其中一个添加到自动加载目录中。