仅当购物车中的每个产品属于同一类别时才分配var

时间:2019-02-07 02:18:32

标签: php prestashop smarty prestashop-1.7

我试图分配一个要在if语句中使用的var,它看起来像这样:

              {assign var="worldwide" value=false}
{assign var="idCategory" value=15}
{foreach from=$cart.products item=product}
    {if $product.id_category_default == $idCategory}
        {assign var="worldwide" value=true}
    {/if}
{/foreach}

{if $worldwide == true}

{/if}

但是,在当前状态下,购物车中只有一个类别值15的产品是正确的。我要这样,以便仅当购物车中的所有产品都属于同一类别时才如此。我正在使用Prestashop 1.7

1 个答案:

答案 0 :(得分:0)

反向使用循环并在其中一个元素不是您想要的元素时中止,如下所示:

{assign var="worldwide" value=true}
{assign var="idCategory" value=15}

{foreach from=$cart.products item=product}
    {if $product.id_category_default != $idCategory}
        {assign var="worldwide" value=false}
        {break}
    {/if}
{/foreach}

{if $worldwide == true}

{/if}