检查产品是否属于特定类别?

时间:2015-04-07 10:40:46

标签: prestashop prestashop-1.6

我正在尝试检查产品是否位于特定类别中,并更改product-list.tpl中“添加到购物车”按钮的标签

在这种情况下,如果产品位于类别ID 14中,我想显示“在此处阅读更多”而不是“添加到购物车”。

目前,14类产品的所有产品都是“添加到购物车”

我正在运行1.6.0.11

{assign var='associated' value=0}                
    {foreach Product::getProductCategories($smarty.get.id_product) as $category}
       {if in_array($category, 14)}
          {assign var='associated' value=1}
       {/if}
 {/foreach}
{if $associated==1}
  {l s='Read more here'}
{else}
  {l s='Add to cart'}
{/if}

2 个答案:

答案 0 :(得分:2)

试试这个:

{assign cat14 [['id_category' => 14]]}
{if Product::idIsOnCategoryId($smarty.get.id_product, $cat14)}
    {l s='Read more here'}
{else}
    {l s='Add to cart'}
{/if}

答案 1 :(得分:0)

当我必须做类似的事情时,我只需为一个(或多个)类别设置目录模式:

(我在product-list.tpl中的foreach循环之后添加它)

{assign findcat [['id_category' => 14], ['id_category' => 33]]}
{if Product::idIsOnCategoryId($product.id_product, $findcat)}
    {assign var="PS_CATALOG_MODE" value="true"}
{/if}

如果您需要隐藏产品页面中的销售选项,请在开头添加此选项(product.tpl):

{assign cat15 [['id_category' => 15], ['id_category' => 17], ['id_category' => 27], ['id_category' => 29], ['id_category' => 30], ['id_category' => 31]]}
{if Product::idIsOnCategoryId($product->id, $cat15)}
    {assign var="PS_CATALOG_MODE" value="true"}
{/if}