如何在smarty模板中打印附加值?

时间:2014-03-27 12:02:14

标签: variables smarty addition

我关注了聪明的代码:

<ul class="list-group">
          {if $user_package_type_documents}
            {assign var=cnt value=0}        
            {foreach from=$user_package_type_documents item='my_package_type_documents'}
              {if $my_package_type_documents.pt_doc_file_iname != ""}
          <li class="list-group-item test-series-item-ul-my-doc">
            <div class="col-xs-7" style="">
              <div class="test-series-heading-doc">
                <span>{$cnt + 1})</span><span>{$my_package_type_documents.pt_doc_title}</span>
              </div>
            </div>
            <div class="col-xs-5" style="">
              <div class="vr-outter-div">
                <a href='my_documents.php?op=download&pt_doc_id={$my_package_type_documents.pt_doc_id}' title="Package Type Document" class="btn btn-default btn-sm vr-btn">DOWNLOAD</a>
              </div>
            </div>
          </li>
              {assign var=cnt value=$cnt+1}
            {/if}
          {/foreach}
          {if $cnt == 0}
          <li class="list-group-item test-series-item-ul-my-doc">
            <div class="col-xs-7" style="">
              <div class="test-series-heading-doc">
                <span></span><span>Document Not Available.</span>
              </div>
            </div>
            <div class="col-xs-5" style="">
              <div class="vr-outter-div">
              </div>
            </div>
          </li>
          {/if} 
        {else}
          <li class="list-group-item test-series-item-ul-my-doc">
            <div class="col-xs-7" style="">
              <div class="test-series-heading-doc">
                <span></span><span>Document Not Available.</span>
              </div>
            </div>
            <div class="col-xs-5" style="">
              <div class="vr-outter-div">
              </div>
            </div>
          </li>
        {/if}
        </ul>

在上面的代码中,我想打印从1到值的值。为此,我编写了代码{$cnt + 1},但它仍然打印了0的值。如何从1打印?初始化也不应该改变,即它应该像现在一样初始化为零。谢谢。

1 个答案:

答案 0 :(得分:0)

在聪明的情况下,您无法在其他操作中使用空白,因此{$cnt + 1}无法工作,但{$cnt+1}应该(您甚至可以在以后执行此操作)。

无论如何,如果我理解在这里尝试完成的事情,我认为你可以采取不同的方式。首先,当您循环user_package_type_documents变量时,您可以定义循环名称,这样您就可以引用iteration number。这样,您的文档列表中就会有这些有序的数字。如果您的数组为空,您可以设置条件检查它的计数或添加foreachelse子句来替换{if $cnt == 0}