特定类别中的Prestashop产品
我正在使用Prestashop 1.7,我想检查产品是否属于特定类别,并更改product.tpl上的图像特定类别中的Prestashop产品,prestashop,categories,product,prestashop-1.7,Prestashop,Categories,Product,Prestashop 1.7,我正在使用Prestashop 1.7,我想检查产品是否属于特定类别,并更改product.tpl上的图像 {if $product->id_category_default == 10} 不起作用。字段中的$product->id\u category\u default只存储了一个值main(~first)category id。如果您的产品属于少数类别,则关系存储在表category\u product中。您可以使用$product->getWsCategories()访问产品所有
{if $product->id_category_default == 10}
不起作用。字段中的
$product->id\u category\u default
只存储了一个值main(~first)category id。如果您的产品属于少数类别,则关系存储在表category\u 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}
当您想检查产品是否属于特殊类别时,您应该这样做:
{$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}
它的工作原理与此类似。谢谢您的回答。如果我在product.tpl中使用{$product->getWsCategories()| var_dump},我什么也看不到。整个网站已关闭,无法加载任何内容。@Sebastian请尝试启用调试模式。@Sebastian,我不确定,但您的Prestashop版本可能没有var_dump插件。但是foreach代码应该运行良好smarty_internal_templatebase.php(157):eval()代码行42:调用ArrayTanks上的成员函数getWsCategories()以获得帮助。真的很好。但我需要改变这部分。{foreach from=Product::getProductCategoriesFull($Product.id)item=category}Tools::getValue('id_Product')和$Product.id