Php Smarty针对这种情况制作计数器

Php Smarty针对这种情况制作计数器,php,smarty,Php,Smarty,使用smarty,我使用jQuery使一些文本逐渐消失。所以在smarty中,我希望在foreach循环中有一个计数器值 这将对帖子进行计数,并为每个增量添加活动类,以便开始显示。所以现在我想要这样的东西。但我不知道如何在smarty中设置增量计数器 <div class="test"> {foreach from=$sliderValues item=row} $i = 0; while($sliderValues) { $i++; if($i==1) { $class

使用smarty,我使用jQuery使一些文本逐渐消失。所以在smarty中,我希望在foreach循环中有一个计数器值

这将对帖子进行计数,并为每个增量添加活动类,以便开始显示。所以现在我想要这样的东西。但我不知道如何在smarty中设置增量计数器

<div class="test">
{foreach from=$sliderValues item=row}
$i = 0;
while($sliderValues) {
$i++;
  if($i==1) {
    $class= 'active';
  }
  else {
    $class= '';
  }
  <div class="example '.$class.' ">something</div>
}
{/foreach}
</div>

{foreach from=$sliderValues item=row}
$i=0;
while($sliderValues){
$i++;
如果($i==1){
$class='active';
}
否则{
$class='';
}
某物
}
{/foreach}

如果有人能告诉我如何制作这样的智能计数器。任何帮助和建议都会非常有用。

当Smarty将模板编译成PHP时,您实际上可以在模板中使用一些PHP,但这不是推荐的,而且很难看

您要查找的是{assign}函数:

  • 要分配起始值:{assign var=“i”value=“0”}
  • 要递增:{assign var=“i”value=“'$i+1'”}
然后,您可以使用标准Smarty{if$i==1}检查变量i

了解更多关于

如果要将类“active”添加到第一行,可以使用以下代码。没有额外的
i

<div class="test">
    {foreach from=$sliderValues item='row' name='f'}
        <div class="example{if $smarty.foreach.f.first} active{/if}">something</div>
    {/foreach}
</div>

{foreach from=$sliderValues item='row'name='f'}
某物
{/foreach}
如果您想/需要在其他情况下使用
i
,则必须在
foreach
之前将其设置为0。在循环中,您可以简单地使用
{assign var='i'value=$i+1}