使用Smarty模板系统中的表

时间:2014-01-18 17:59:55

标签: php templates smarty

以下是我当前代码的副本:

    <tbody>
      {foreach key=num item=referral from=$referrals}
      {if $referral.commission != '$0.00 USD'}
  <tr>
    <td>{$referral.date}</td>
    <td>{$referral.service}</td>
    <td>{$referral.amountdesc}</td>
    <td>{$referral.commission}</td>
    <td>{$referral.status}</td>
  </tr>
      {/if}
      {foreachelse}
        <tr>
            <td colspan="6">{$LANG.norecordsfound}</td>
        </tr>
      {/foreach}
    </tbody>

该表基本上显示了关联公司获得的联盟佣金。但是,如果佣金约为$0.00 USD,则不显示该行,因为该转介没有赚到钱。但我遇到了两个不同的问题:

  1. 如果联盟会员仅提及他们已收到$ 0.00佣金,则此部分表格不会显示。相反,它应该显示{$LANG.norecordsfound}的语言,让他们知道还没有赚取佣金。相反,它只是显示空白。

  2. 我的分页表格,每页显示10条记录。问题是,如果这些佣金中有3个赚了0.00美元,那么它只显示该页面上的7条记录。我更愿意删除分页并将$itemlimit设置为9999,但我不知道该怎么做。

  3. 对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

也许你可以尝试这种方式,这样它就不会显示空白。

 <tbody>
   {foreach key=num item=referral from=$referrals}
    {if $referral.commission != '$0.00 USD'}
      <tr>
        <td>{$referral.date}</td>
        <td>{$referral.service}</td>
        <td>{$referral.amountdesc}</td>
        <td>{$referral.commission}</td>
        <td>{$referral.status}</td>
      </tr>
     {else}
         <tr>
           <td colspan="6">{$LANG.norecordsfound}</td>
         </tr>
     {/if}
     {/foreach}
</tbody>

对于您的第二个问题,您可能需要重新构建表格的方式。如果你从一开始就少于10件物品会怎么样?

由于我无法看到你如何对你的分页进行编码,也许你可以assign你的php代码中的记录数量,然后在你的表格代码中巧妙地检查它。

例如,如果$itemlimit显示记录数,那么也许你可以这样做。

{if $itemlimit > 10}
    {* show pagination or however you want to handle it *}
{/if}