ネストされたsmartyforeachループがあります。divで連続番号の出力を取得しようとしています(例を参照) 。内部配列でキーまたはインデックスまたは.iterationを使用しても、希望どおりに機能しません。何が起こっているかはわかりますが、外側のループのすべてのブランチでリセットを続ける、部分的なカウントではなく、全体的な実行カウントを維持する方法が必要です。私は成功せずに多くのことを試みました。誰か助けてもらえますか?とても有難い。
{foreach from=$children item='child'}
{if $child.show_in_menu}
{* loop through grandchildren *}
{foreach from=$child item='grandchild' name='grandchildrenpages' key=k}
{if $grandchild.show_in_menu}
<div class="view-{$k}"></div>
{/if}
{/if}
{/foreach}
{/if}
{/foreach}
必要な出力
<div class="view-1"></div>
<div class="view-2"></div>
<div class="view-3"></div>
<div class="view-4"></div>
<div class="view-5"></div>
<div class="view-6"></div>
<div class="view-7"></div>
<div class="view-8"></div>
Currentoutput
<div class="view-0"></div>
<div class="view-1"></div>
<div class="view-2"></div>
<div class="view-1"></div>
<div class="view-2"></div>
<div class="view-5"></div>
<div class="view-6"></div>
<div class="view-7"></div>