5

我有一个条目循环,我想对每个第二个条目应用格式 - 不仅应用一个类,还应用一些基本的 HTML 标记。我怎样才能做到这一点?

4

3 回答 3

12

这个问题似乎出现了很多,所以我想我会发布一个简单的例子:

{exp:channel:entries channel="whatever"}
{switch="<div class='entry'>|"}
<h2>{title}</h2>
{if count != total_results}{switch="|</div>"}{/if}
{if count == total_results}</div>{/if}
{/exp:channel:entries}

在此示例中,具有“条目”类的 div 围绕每个第二个条目进行包装。前端的开关变量非常简单。后端使用两个条件:如果条目是循环中的最后一个条目,则关闭 DIV。如果该条目不是循环中的最后一个条目,则仅在每第二个条目时关闭 DIV(在循环开始时反映 switch 变量)。

需要注意的是,switch 变量对引号非常敏感——所以当以这种方式插入 HTML 时,在 switch 变量中,您必须使用单引号而不是双引号。这对于简单的插入很好,但如果您考虑到更复杂的格式,可能会有点不友好。希望这可以帮助一些人,并随时扩展这个想法。

于 2012-10-24T13:42:10.437 回答
2

还有一个插件可能有助于在这种情况下GWcode Alternate。我自己没有使用它,因为我更喜欢使用另一个答案中提到的本机 switch 标签。

于 2012-10-24T13:56:53.823 回答
0

我使用的示例专门针对那些不需要在每个条目上都使用 DIV 而是在特定间隔周围包装 DIV 的实例 - 例如,当您想要一个一次包含 3 个条目的 jQuery 滑块时很常见。这就是我的例子的明确目的。每个条目都不是我会考虑的间隔,这就是我的示例的目的。当然,这是一个边缘情况——但这种情况经常发生,足以捕获一个简单的解决方案来解决仍然使用仅具有简单条件的本机功能的挑战。

于 2012-10-29T11:41:01.333 回答