我尝试使用dt
中的以下代码在一页结帐时在购物车摘要中显示产品功能,但会出错。
shopping-cart-product-line.tpl
我是否需要对{foreach from=$product.features item=feature name=features}
{if $feature.id_feature == 9}
{$features.value|escape:'htmlall':'UTF-8'}
{/if}
{/foreach}
执行任何操作?
错误 注意:未定义的索引:值为 path / tools / smarty / sysplugins / smarty_internal_templatebase.php(157):eval()'代码在第89行
答案 0 :(得分:1)
应该是{$feature.value}
而不是{$features.value}
:
{foreach from=$product.features item=feature name=features}
{if $feature.id_feature == 9}
{$feature.value|escape:'htmlall':'UTF-8'}
{/if}
{/foreach}
无需覆盖控制器或类。
答案 1 :(得分:0)
试试这种方式
{assign var="features" value=Product::getFrontFeaturesStatic(Context::getContext()->language->id, $product.id_product)}
{foreach $features as $feature}
{if $feature.id_feature == 6}
<div>{$feature.value|escape:'htmlall':'UTF-8'}</div>
{/if}
{/foreach}
答案 2 :(得分:0)
您需要通过修改以下某个文件中的代码来分配功能值(这取决于您在商店中使用的结帐类型):
/controllers/front/OrderOpcController.php (Edit for OPC)
或
/controllers/front/OrderController.php (Edit for five step)
$ features数组中缺少'value'字段,您可以使用以下函数获取任何产品的功能数据。
Product::getFeaturesStatic($id_product);