如何在expressionengine中以重复的间隔插入HTML?

时间:2012-10-24 13:42:10

标签: expressionengine

我有一个条目循环,我想将格式应用于每一个条目 - 不仅仅是应用一个类,还有一些基本的HTML标记。我怎么能这样做?

3 个答案:

答案 0 :(得分: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}

在这个例子中,每个第二个条目都包含一个带有“entry”类的div。前端的开关变量非常简单。后端使用两个条件:如果条目是循环中的最后一个条目,则关闭DIV。如果该条目不是循环中的最后一个条目,则仅为每隔一个条目关闭DIV(在循环开始时反映开关变量)。

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

答案 1 :(得分:2)

在这种情况下,还有一个可能有用的插件GWcode Alternate。我自己没有使用它,因为我更喜欢使用其他答案中提到的原生开关标签。

答案 2 :(得分:0)

我使用的示例专门针对那些在每个条目中都不需要DIV而是围绕特定间隔包装DIV的实例 - 当你想要一个包含3个条目的jQuery滑块时,通常是这样的例。这显然是我的例子的目的。每个条目都不是我会考虑的间隔,这是我的例子的目的。当然它是一个边缘情况 - 但是边缘情况通常足以捕获一个简单的解决方案来解决仍然只使用简单条件的本机功能的挑战。