我的部分循环出了问题。我有3个不同的剖面循环,我只需要显示5个结果(如果第一个部分循环得到5个结果或者第一个结果为2个,第二个结构为1个,第二个循环结构为2个结果,则无关紧要)。第一个循环中的最大值设置为5并且在内部我添加计数器以检查是否少于5个结果如果结果少于5我开始第二个循环现在当我在第二个循环中设置最大值时出现问题max-(值我的计数器)它忽略了这个值,并且总是显示第二个循环的5个结果,第三个循环没有显示,那没关系,但是第二个应该将max设置为1.请原谅我的英文不好。非常感谢您的建议。祝你有愉快的一天。
演示:Upcoming events module on right bottom
代码:
{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}
答案 0 :(得分:0)
我目前无法测试它,但我认为问题出在那一行:
{section name=ArtCat4 loop=$ArtCat4 max=5-$cc+$cc2}
应该是:
{section name=ArtCat4 loop=$ArtCat4 max=5-$cc-$cc2}
因为您之前检查过条件{if $cc+$cc2 >= 5}