Smarty 瞄准最后一项
Smarty target last item
所以cscart用了一段时间,每天都在学习,遇到了一些比较烦人的事情
因此,无论何时向特征添加多个值,它都会显示为 f.e。 "OrangeGreen" 而我希望它像 "Orange, Green" 一样查看它。好吧看起来很简单,只需更改 product_features.tpl
{elseif in_array($feature.feature_type, ["ProductFeatures::TEXT_SELECTBOX"|enum, "ProductFeatures::EXTENDED"|enum, "ProductFeatures::NUMBER_SELECTBOX"|enum])}
{foreach from=$feature.variants item="var"}
{if $var.selected}{$var.variant}, {/if}
{/foreach}
但现在不会是 "Orange, Green"。现在是 "Orange, Green,"
所以你们能帮我弄清楚我如何定位这段代码中的最后一项吗?
您可以使用 foreach 循环的属性,如索引、first 和 last 来访问此循环中的特定元素。
在 Smarty V2 中,您的 foreach 循环需要一个名称属性来访问它的属性:
{foreach from=$feature.variants item="var" name="features"}
{if $var.selected}{$var.variant}, {/if}
{if $smarty.foreach.features.last} this is the last element in this loop{/if}
{/foreach}
(文档:http://www.smarty.net/docsv2/en/language.function.foreach.tpl#foreach.property.last)
Smarty V3 更简单:
{if $var@last} this is the last element in this loop{/if}
(文档:http://www.smarty.net/docs/en/language.function.foreach.tpl#foreach.property.last)
抱歉,我不确定 cs-cart 是否适用于 Smarty V2 或 V3
所以cscart用了一段时间,每天都在学习,遇到了一些比较烦人的事情
因此,无论何时向特征添加多个值,它都会显示为 f.e。 "OrangeGreen" 而我希望它像 "Orange, Green" 一样查看它。好吧看起来很简单,只需更改 product_features.tpl
{elseif in_array($feature.feature_type, ["ProductFeatures::TEXT_SELECTBOX"|enum, "ProductFeatures::EXTENDED"|enum, "ProductFeatures::NUMBER_SELECTBOX"|enum])}
{foreach from=$feature.variants item="var"}
{if $var.selected}{$var.variant}, {/if}
{/foreach}
但现在不会是 "Orange, Green"。现在是 "Orange, Green,"
所以你们能帮我弄清楚我如何定位这段代码中的最后一项吗?
您可以使用 foreach 循环的属性,如索引、first 和 last 来访问此循环中的特定元素。
在 Smarty V2 中,您的 foreach 循环需要一个名称属性来访问它的属性:
{foreach from=$feature.variants item="var" name="features"}
{if $var.selected}{$var.variant}, {/if}
{if $smarty.foreach.features.last} this is the last element in this loop{/if}
{/foreach}
(文档:http://www.smarty.net/docsv2/en/language.function.foreach.tpl#foreach.property.last)
Smarty V3 更简单:
{if $var@last} this is the last element in this loop{/if}
(文档:http://www.smarty.net/docs/en/language.function.foreach.tpl#foreach.property.last)
抱歉,我不确定 cs-cart 是否适用于 Smarty V2 或 V3