eZ Publish で子アイテムを2列に並べたい時のテンプレート処理
eZ Publish 4.x/5.x Legacy で子アイテムを2個単位でグルーピングしたい時のテンプレート処理。
テンプレートの記述例
<div class="level-1">
{foreach $node.children as $key => $child}
{if eq( $key|mod( 2 ), 0 )}
<div class="level-2">
{/if}
<div class="level-3">{$child.name|wash()}</div>
{if or( ne( $key|mod( 2 ), 0 ), eq( $key, $category.children_count|dec ) )}
</div>
{/if}
{/foreach}
</div>
出力 HTML
<div class="level-1">
<div class="level-2">
<div class="level-3">アイテム1</div>
<div class="level-3">アイテム2</div>
</div>
<div class="level-2">
<div class="level-3">アイテム3</div>
<div class="level-3">アイテム4</div>
</div>
<div class="level-2">
<div class="level-3">アイテム5</div>
</div>
</div>
解説
子アイテムを {foreach}
でループし、キーが偶数ならヘッダー処理、奇数か最後尾ならフッター処理、という流れになっている。
最後尾の判定は、子アイテムの数を $node
オブジェクトの children_count
属性から取得して、dec
オペレーターでデクリメントした値を使っている。
リファレンス
Author And Source
この問題について(eZ Publish で子アイテムを2列に並べたい時のテンプレート処理), 我々は、より多くの情報をここで見つけました https://qiita.com/bezeklik/items/314b788285747f0faee2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .