在 Prestashop 中的购物车摘要中显示产品功能

问题描述 投票:0回答:4

我试图在一页结帐时在购物车摘要中显示产品功能,并在

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}

我需要对

CartController.php
做些什么吗?

错误 注意:未定义索引:值在 path/tools/smarty/sysplugins/smarty_internal_templatebase.php(157) : 第 89 行 eval() 代码

php html mysql prestashop
4个回答
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}

无需重写控制器或类。


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}

0
投票

您需要通过修改以下文件之一中的代码来分配功能值(这取决于您在商店中使用的结帐类型):

/controllers/front/OrderOpcController.php (Edit for OPC)

/controllers/front/OrderController.php (Edit for five step)

$features 数组中缺少“value”字段,您可以使用以下函数来获取任何产品的功能数据。

 Product::getFeaturesStatic($id_product);

0
投票

这个解决方案在 Prestashop 8 中也能正常工作:

{assign var="features" value=Product::getFrontFeaturesStatic(Context::getContext()->language->id, $product.id_product)}
{foreach $features as $feature}
<div>{$feature.name}: {$feature.value|escape:'htmlall':'UTF-8'}</div
{/foreach}
© www.soinside.com 2019 - 2024. All rights reserved.