1

我在 ezpublish 中计算数组键值时遇到问题,其 php 函数是

array_count_values();

我需要 ezpublish 中的类似功能。ezpublish 中是否有任何运营商,或者我也必须对其进行扩展?

4

7 回答 7

3

After research for long time i found that, there is no any ez publish template operators for array_count_values(); we have to make an extension for it. And process of making extension is given in the link below.

http://blog.developeronhire.com/using-custom-php-functions-in-ez-publish-templates/

Thank you all

于 2011-03-07T11:55:15.067 回答
1

您可以将 php 函数声明为要使用的模板的新模板运算符

将其添加到 template.ini 覆盖文件。

于 2011-05-05T17:33:38.087 回答
1

正如 Nicolas 所说,您可以将任何 PHP 函数映射到模板运算符,如果:

  • 该函数按值而不是按引用返回结果
  • 该函数只接受一个参数(这可能适用于具有一个强制参数和其他可选参数的函数,但我记得它会生成 PHP 警告并且可选参数将被忽略)

文档:http ://doc.ez.no/eZ-Publish/Technical-manual/4.x/Reference/Configuration-files/template.ini/PHP/PHPOperatorList

所以做你想做的事情真的很容易,因为array_key_values()是一个很好的候选者并且符合要求。

于 2012-03-12T14:22:23.703 回答
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(但我认为您已经知道这个地方;))

希望有帮助,干杯,

于 2011-03-22T11:05:31.763 回答
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);
于 2011-02-25T05:52:44.690 回答
0

如果将其添加到站点扩展的 template.ini 不起作用,只需创建一个自动加载。它们的创建非常简单,也是我经常添加我需要的任何 php 函数的方式。您不需要自动加载的新扩展,只需将其添加到自动加载目录中的现有扩展中即可。不要忘记在 eztemplateautoload.php 文件中声明您的自动加载,您可能还必须将其中之一添加到您的自动加载目录中。

于 2012-04-01T01:44:03.170 回答
0

如果你需要使用 PHP 原生函数,你真的应该使用这个扩展:http ://projects.ez.no/wrap_operator

您只需在扩展的 ini 文件中启用所选功能并在模板中使用它。

例如 :

{def $html = wrap_php_func('str_replace', array('&', '&', $article.data_map.descriptif.data_text))}

它会救你的命!

于 2011-06-09T13:10:15.410 回答