[英]SMARTY - maximum in section doesn't work as it should
我的节循环有问题。 我有3个不同的部分循环,我只需要显示5个结果(第一部分循环是否有5个结果或第2个结果,第一个1和第二个结果以及最后一个2的结果都没关系)。 第一个循环中的Max设置为5,在内部添加计数器以检查结果是否少于5个,如果结果小于5个,我开始第二个循环,现在在第二个循环中设置max时出现问题max-(value计数器的值),它会忽略此值,并始终显示第二个循环的5个结果,不显示第三部分的循环,没关系,但是第二个应将max设置为1。请原谅我的英语不好。 非常感谢您的建议。 祝你今天愉快。
演示: 右下角的即将发生的事件模块
码:
{assign var="counter" value=1}
{section name=ArtCat2 loop=$ArtCat2 max=5}
{assign var="cc" value=$counter++}
CC:{$cc}
<br/>
<br/>
{foreach from=$category item=CAT}
<div>
<h2 class="h2">
<a href="/{$country}/{$lang}/{$CAT.ID}_{$CAT.friendlyTitle}/{$ArtCat2[ArtCat2].ID}_{$ArtCat2[ArtCat2].friendlyTitle}.html?do=article">
{$ArtCat2[ArtCat2].Title}
</a>
</h2>
<span class="small2">
<b>{$ArtCat2[ArtCat2].Date} | {$ArtCat2[ArtCat2].Location}</b>
</span>
{$ArtCat2[ArtCat2].ShortText}
<a class="link3"
href="/{$country}/{$lang}/{$CAT.ID}_{$CAT.friendlyTitle}/{$ArtCat2[ArtCat2].ID}_{$ArtCat2[ArtCat2].friendlyTitle}.html?do=article">
<span class="small2"></span></a>
</div>
<br class="clear"/>
<br/>
{/foreach}
{* Online *}
{/section}
{if $cc >= 5}
{else}
{section name=ArtCat3 loop=$ArtCat3 max=5-$cc}
{assign var="cc2" value=$counter++}
CC: {$cc}
<br/>
<br/>
CC2:{$cc2}
<br/>
<br/>
{foreach from=$category item=CAT}
<div>
<h2 class="h2">
<a href="/{$country}/{$lang}/{$CAT.ID}_{$CAT.friendlyTitle}/{$ArtCat3[ArtCat3].ID}_{$ArtCat3[ArtCat3].friendlyTitle}.html?do=article">
{$ArtCat3[ArtCat3].Title}
</a>
</h2>
<span class="small2">
<b>{$ArtCat3[ArtCat3].Date} | {$ArtCat3[ArtCat3].Location}</b>
</span>
<br/>
{$ArtCat3[ArtCat3].ShortText}
<a class="link3"
href="/{$country}/{$lang}/{$CAT.ID}_{$CAT.friendlyTitle}/{$ArtCat3[ArtCat3].ID}_{$ArtCat3[ArtCat3].friendlyTitle}.html?do=article">
<span class="small2"></span></a>
</div>
<br class="clear"/>
<br/>
{/foreach}
{/section}
{/if}
{* International *}
{if $cc+$cc2 >= 5}
{else}
{section name=ArtCat4 loop=$ArtCat4 max=5-$cc+$cc2}
{foreach from=$category item=CAT}
<div>
<h2 class="h2">
<a href="/{$country}/{$lang}/{$CAT.ID}_{$CAT.friendlyTitle}/{$ArtCat4[ArtCat4].ID}_{$ArtCat4[ArtCat4].friendlyTitle}.html?do=article">
{$ArtCat4[ArtCat4].Title}
</a>
</h2>
<span class="small2">
<b>{$ArtCat4[ArtCat4].Date} | {$ArtCat4[ArtCat4].Location}</b>
</span>
<br/>
{$ArtCat4[ArtCat4].ShortText}
<a class="link3"
href="/{$country}/{$lang}/{$CAT.ID}_{$CAT.friendlyTitle}/{$ArtCat4[ArtCat4].ID}_{$ArtCat4[ArtCat4].friendlyTitle}.html?do=article">
<span class="small2"></span></a>
</div>
<br class="clear"/>
<br/>
{/foreach}
{/section}
{/if}
我目前无法测试,但我认为问题出在那一行:
{section name=ArtCat4 loop=$ArtCat4 max=5-$cc+$cc2}
应该是:
{section name=ArtCat4 loop=$ArtCat4 max=5-$cc-$cc2}
因为您之前检查了条件{if $cc+$cc2 >= 5}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.