如何显示列表的第一个元素? Smarty、Prestashop 模块
How display the first element of a list ? Smarty, Prestashop module
我正在尝试更改 Prestashop 模块中的视图。我只想显示列表的第一个案例。
这里是原始列表:
{if count($tax_details)>0 && $use_taxes}
<br />
<br />
<table cellpadding="3">
<thead>
<tr style="color:#FFFFFF; background-color: #4D4D4D; font-weight:bold; padding:2px;">
<th style="width: 40%;">{l s='TAX DETAILS' mod='opartdevis'}</th>
<th style="width: 20%;">{l s='Tax rate' mod='opartdevis'}</th>
<th style="width: 20%;">{l s='Total without tax' mod='opartdevis'}</th>
<th style="width: 20%;text-align: right;">{l s='Total tax' mod='opartdevis'}</th>
</tr>
</thead>
{foreach $tax_details as $tax}
<tr>
<td style="width: 40%;">{$tax.prefix|escape:'htmlall':'UTF-8'}</td>
<td style="width: 20%;">{$tax.name|escape:'htmlall':'UTF-8'}</td>
<td style="width: 20%;">{Tools::displayPrice($tax.total_ht)}</td>
<td style="width: 20%;text-align: right;">{Tools::displayPrice($tax.total_tax)}</td>
</tr>
{/foreach}
</table>
{/if}
它显示这个:
我想在另一个地方以黄色显示这个数字。
这是我的代码(它与原始列表位于同一页面):
{if count($tax_details)>0}
<tr>
<td colspan="7" style="text-align:right;">
Total éco taxes :
</td>
<td colspan="1" style="text-align:right;">
<span id="total_price_remiseincl">
{Tools::displayPrice($tax_details[0].total_tax)}
</span>
</td>
</tr>
{/if}
我有这个错误:
我试了很多方法来写,但我不知道该怎么做。
你能帮我吗?我是 Smarty 的新手。
提前致谢
疾病
您需要重新设置一个循环
{assign 't' '0'}
{foreach $tax_details as $tax}
{if $t === '0'}
{Tools::displayPrice($tax.total_tax)}
{assign 't' '1'}
{/if}
{/foreach}
或者,您可以像下面这样正确使用 'first'。 (docs)
在你的foreach中,使用
{if $smarty.foreach.tax_details.first}
<tr>
<td colspan="3"></td>
<td style="width: 20%;text-align: right;">
{Tools::displayPrice($tax.total_tax)}
</td>
</tr>
{/if}
我正在尝试更改 Prestashop 模块中的视图。我只想显示列表的第一个案例。
这里是原始列表:
{if count($tax_details)>0 && $use_taxes}
<br />
<br />
<table cellpadding="3">
<thead>
<tr style="color:#FFFFFF; background-color: #4D4D4D; font-weight:bold; padding:2px;">
<th style="width: 40%;">{l s='TAX DETAILS' mod='opartdevis'}</th>
<th style="width: 20%;">{l s='Tax rate' mod='opartdevis'}</th>
<th style="width: 20%;">{l s='Total without tax' mod='opartdevis'}</th>
<th style="width: 20%;text-align: right;">{l s='Total tax' mod='opartdevis'}</th>
</tr>
</thead>
{foreach $tax_details as $tax}
<tr>
<td style="width: 40%;">{$tax.prefix|escape:'htmlall':'UTF-8'}</td>
<td style="width: 20%;">{$tax.name|escape:'htmlall':'UTF-8'}</td>
<td style="width: 20%;">{Tools::displayPrice($tax.total_ht)}</td>
<td style="width: 20%;text-align: right;">{Tools::displayPrice($tax.total_tax)}</td>
</tr>
{/foreach}
</table>
{/if}
它显示这个:
我想在另一个地方以黄色显示这个数字。
这是我的代码(它与原始列表位于同一页面):
{if count($tax_details)>0}
<tr>
<td colspan="7" style="text-align:right;">
Total éco taxes :
</td>
<td colspan="1" style="text-align:right;">
<span id="total_price_remiseincl">
{Tools::displayPrice($tax_details[0].total_tax)}
</span>
</td>
</tr>
{/if}
我有这个错误:
我试了很多方法来写,但我不知道该怎么做。
你能帮我吗?我是 Smarty 的新手。
提前致谢 疾病
您需要重新设置一个循环
{assign 't' '0'}
{foreach $tax_details as $tax}
{if $t === '0'}
{Tools::displayPrice($tax.total_tax)}
{assign 't' '1'}
{/if}
{/foreach}
或者,您可以像下面这样正确使用 'first'。 (docs)
在你的foreach中,使用
{if $smarty.foreach.tax_details.first}
<tr>
<td colspan="3"></td>
<td style="width: 20%;text-align: right;">
{Tools::displayPrice($tax.total_tax)}
</td>
</tr>
{/if}