php関数がであるezpublishの配列キー値をカウントするのに問題があります
array_count_values();
ezpublishにも同様の機能が必要です。ezpublishに演算子はありますか、それとも拡張機能を作成する必要がありますか?
長い間調査した結果、拡張機能を作成する必要があるため、ezpublishテンプレート演算子がないことがわかりましarray_count_values();
た。そして、拡張を行うプロセスは、以下のリンクに示されています。
http://blog.developeronhire.com/using-custom-php-functions-in-ez-publish-templates/
皆さん、ありがとうございました
カウント演算子は、ここで探しているものです。次のように表示されます。
{def $arrayCount = $myArray|count()}
この演算子の詳細については、ドキュメントをご覧ください:http: //doc.ez.no/eZ-Publish/Technical-manual/4.x/Reference/Template-operators/Variable-and-type-handling/count
一般的に、eZ Publish Community Portal: http ://share.ez.noにも質問を投稿してください(ただし、この場所はすでにご存知だと思います;))
お役に立てば幸いです、乾杯、
php関数を、使用するテンプレートの新しいテンプレート演算子として宣言できます。
それをtemplate.iniオーバーライドファイルに追加します。
Nicolasが言ったように、次の場合は、任意のPHP関数をテンプレート演算子にマップできます。
したがって、array_key_values()は適切な候補であり、要件に一致するため、必要な処理を実行するのは非常に簡単です。
これを試して
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);
PHPネイティブ関数を使用する必要がある場合は、実際には次の拡張機能を使用する必要があります:http: //projects.ez.no/wrap_operator
拡張機能のiniファイルで選択した機能を有効にして、テンプレートで使用する必要があります。
例えば :
{def $html = wrap_php_func('str_replace', array('&', '&', $article.data_map.descriptif.data_text))}
それはあなたの命を救うでしょう!
サイトの拡張機能のtemplate.iniに追加しても機能しない場合は、オートロードを作成するだけです。これらは作成が非常に簡単で、必要なphp関数を頻繁に追加する方法です。autoloadに新しい拡張機能は必要ありません。それを、autoloadsディレクトリの既存の拡張機能に追加するだけです。eztemplateautoload.phpファイルでautoloadを宣言することを忘れないでください。おそらく、それらの1つをautoloadsディレクトリにも追加する必要があります。