2011-04-08 103 views
0

快速的問題:我該如何輸出從給定信道的所有條目成4組,就像這樣:表達式引擎:分項成組

<div class="entry_group"> 
    <div class="entry" id="1"><span>{title}</span></div> 
    <div class="entry" id="2"><span>{title}</span></div> 
    <div class="entry" id="3"><span>{title}</span></div> 
    <div class="entry" id="4"><span>{title}</span></div> 
</div> 
<div class="entry_group"> 
    <div class="entry" id="5"><span>{title}</span></div> 
    <div class="entry" id="6"><span>{title}</span></div> 
    <div class="entry" id="7"><span>{title}</span></div> 
    <div class="entry" id="8"><span>{title}</span></div> 
</div> 

提前感謝!

回答

3

您可以嘗試使用Modulo Operator plugin來獲得任意數量的條目。例如:

{if count == "1"} 
    <div class="entry_group"> 
{/if} 
{if '{exp:modulo dividend="{count}" divisor="4"}' == 0} 
    </div> 
    <div class="entry_group"> 
{/if} 
     <div class="entry" id="{count}"><span>{title}</span></div> 
{if count == total_results} 
    </div> 
{/if} 

該插件僅適用於EE1,但將插件從EE1轉換爲EE2非常簡單。

+0

謝謝@ D-Rock!看起來有人已經轉換了EE2的插件:[下載鏈接](http://expressionengine.com/?ACT=51&fid = 16&aid = 10827_0o1zvj5nJVI1PJT25DDW&board_id = 1) – o01 2011-04-09 19:38:05

1

我在ExpressionEngine論壇上發現了另一個更簡單的解決方案;雖然相當基本,但我認爲它應該很容易達到預期目標:http://expressionengine.com/forums/viewthread/197240/#927740

它的含義包括使用{switch}變量在每n組條目之後選擇性地插入關閉和打開標記對,具體取決於空白你在交換機中留下的斑點。在你的情況下,例子是這樣的:

<div class="entry_group"> 
{exp:channel:entries} 
    <div class="entry" id="{switch='1|2|3|4'}"><span>{title}</span></div> 
    {switch='|||</div><div class="entry_group">'} 
{exp:channel:entries} 
</div> 

divclass=entry_group之間的空白應該不會造成任何問題,但如果它,你可能想用CSS來控制容器的屬性(例如.entry_list>div{....entry_list>div .entry{...

+0

這對我很好,謝謝! – 2015-02-14 06:48:04