Prestashop 1.6数量检查

时间:2015-10-31 11:27:36

标签: php prestashop

请帮我解决一个问题。 在我的Prestashop 1.6.0.14上,我正在尝试检查product.tpl中的数量 在以下部分:

<p id="add_to_cart" {if (!$allow_oosp && $product->quantity <= 0) || !$product->available_for_order || (isset($restricted_country_mode) && $restricted_country_mode) || $PS_CATALOG_MODE}style="display:none"{/if} class="buttons_bottom_block">
<button type="submit" name="Submit" class="exclusive lmromancaps">{l s='Add to cart'}</button>
</p>   

我正在尝试添加代码:

{if (!$allow_oosp && $product->quantity <= 0) || !$product->available_for_order || (isset($restricted_country_mode) && $restricted_country_mode) || $PS_CATALOG_MODE }
<input type="button" class="exclusive lmromancaps b1c" value="Order">
{else}
<input type="button" class="exclusive lmromancaps b1c" value="Quick buy">
{/if} 

但是产品没有数量的条件永远不会发生。此代码仅适用于没有任何属性和功能的产品,但对于具有功能和属性的产品,我无法检查数量。

例如,如果产品有属性,颜色1,数量= 1,颜色2,数量= 0,我的代码看不到颜色2没有数量,它看到它有数量。 请帮我做,我做错了什么? 感谢。

1 个答案:

答案 0 :(得分:1)

product.tpl中,您可以访问$combinations(产品属性),其中包含所有组合数据,包括数量:

{foreach from=$combinations item=combination}
    {$combination->quantity} 
{/foreach}

从另一方面来看,默认情况下,大多数prestashop主题使用“onpage interactive attributes selection”(可能是错误的单词,我的英文不好,抱歉),我的意思是当你点击例如在颜色上您可以看到“库存”而无需向服务器等请求 所以在模板中你可能会看到类似的东西:

{addJsDef combinations=$combinations}
{addJsDef combinationsFromController=$combinations}

您可以访问例如您的javascript代码中的combinationsFromController变量:

for(i in combinationsFromController) { 
   console.log(combinationsFromController[i].quantity);
}