特定类别的 Prestashop 产品

Prestashop product in a specific category

我正在使用 Prestashop 1.7,我想检查产品是否属于特定类别并更改 product.tpl

上的图像
{if $product->id_category_default == 10}

不工作。

在字段 $product->id_category_default 中仅存储了一个主要(~first)类别 ID 值。如果您的产品属于几个类别,则关系存储在 table 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}

它的工作原理类似。