请帮我解决一个问题。 在我的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没有数量,它看到它有数量。 请帮我做,我做错了什么? 感谢。
答案 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);
}