我正在使用Prestashop 1.7,我想检查产品是否属于特定类别并更改产品上的图像。tpl
{if $product->id_category_default == 10}
不起作用。
答案 0 :(得分:0)
在字段$product->id_category_default
中仅存储了一个主要(〜第一个)类别ID的值。如果您的产品属于几类,则关系存储在表category_product
中。您可以使用$product->getWsCategories()
访问产品所有类别的数组。您可以看到以下内容:
{$product->getWsCategories()|var_dump}
要检查产品是否属于特殊类别,您应该这样做:
{foreach from=$product->getWsCategories() key='k' item='category'}
{if $category.id == 7760}
here you insert something
{/if}
{/foreach}
已编辑:
先前的方法在Prestashop 1.4中效果很好,但是开发人员将$ product对象修改为数组,因此您无法再运行对象函数。
我找到了1.7版本的解决方案。参见:
{foreach from=Product::getProductCategoriesFull(Tools::getValue('id_product')) item=category}
{$category|var_dump}
{if $category.id_category== '1041'}
// here you can insert img
{/if}
{/foreach}
它以类似的方式工作。