首页 > 解决方案 > 特定类别中的 Prestashop 产品

问题描述

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

{if $product->id_category_default == 10}

不管用。

标签: prestashopcategoriesproductprestashop-1.7

解决方案


在该字段$product->id_category_default中仅存储了一个值 main(~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}

它以类似的方式工作。


推荐阅读