我正在使用Prestashop 1.7,我想检查产品是否属于特定类别并更改product.tpl上的图像
{if $product->id_category_default == 10}
不管用 .
在字段 $product->id_category_default 中存储了一个只有main(~thirst)类别id的值 . 如果您的产品属于几个类别,则关系存储在表 category_product 中 . 您可以使用 $product->getWsCategories() 访问产品的所有类别的数组 . 你可以这样看:
$product->id_category_default
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}
Edited:
以前的方法在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}
它以类似的方式工作 .
1 回答
在字段
$product->id_category_default
中存储了一个只有main(~thirst)类别id的值 . 如果您的产品属于几个类别,则关系存储在表category_product
中 . 您可以使用$product->getWsCategories()
访问产品的所有类别的数组 . 你可以这样看:如果您想检查产品是否属于特殊类别,您应该这样做:
Edited:
以前的方法在Prestashop 1.4中运行良好,但开发人员将$ product对象修改为数组,因此您无法再运行对象函数 .
我找到了1.7版本的解决方案 . 看到:
它以类似的方式工作 .