PowerCMS X のテンプレート変数が配列のときに重複する値を削除したい(ユニーク値)
以下の記事データがあったとします。
記事A タグ「TEST」
記事B タグ「TEST」
記事C タグ「TEST」
記事D タグ「DATA」
記事E タグ「DATA」
ビューで以下のコードを書くと
<mt:entries glue="," nowrap=2>
<mt:entrytags glue=",">
<mt:tagname>
</mt:entrytags>
</mt:entries>
結果は
TEST,TEST,TEST,DATA,DATA
になってしまいます。これを
TEST,DATA
にするためには、以下のコードにします。
<mt:entries>
<mt:entrytags>
<mt:tagname setvar="tag_name_str"><mt:setvar name="tag_name_loop" value="$tag_name_str" function="push">
</mt:entrytags>
</mt:entries>
<mt:var name="tag_name_loop" array_unique setvar="tag_name_loop">
<mt:loop name="tag_name_loop" glue="," nowrap=2>
<mt:var name="__value__">
</mt:loop>
グローバルモデファイアの array_unique が重複している配列データを削除してくれます。
コードの中にある glue はループの中の値に区切り文字を指定できるもので、nowrap=2 はHTMLソースから改行を削除してくれます。
参考:グローバルモディファイア
別の方法もありますので、PowerCMS X で特定カラムのカウント数を表示する も見てください。
この記事が気に入ったらサポートをしてみませんか?