2011-04-08 29 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