Prestashop,始终显示产品可用性

时间:2016-12-21 17:08:01

标签: php prestashop product

我设置我的商店以允许订购数量为< = 0的产品。 因此,在产品配置中设置为在产品页面中显示产品数量,并允许缺货产品的订单。也许我的模板有问题,但只有当> 0时我才能看到产品的可用性。我需要始终显示可用性(2个可用,0个可用,2个可用)。

这是我的FO产品页面(此尺寸不可用): FO product, size not available

这是我的FO产品页面(尺寸可用): [FO产品,尺寸可供选择] [3]

如果我在BO中设置不允许缺货产品的订单,我可以看到我想看到的文本,如果我允许订购缺货产品。

如您所见,只有当产品> 0时,才会显示可用性。我只是想要显示可用性,因为我需要允许订单缺货产品。

我认为我需要编辑product.tpl

的这一部分
{if ($display_qties == 1 && !$PS_CATALOG_MODE && $PS_STOCK_MANAGEMENT && $product->available_for_order)}
<!-- number of item in stock -->
<p id="pQuantityAvailable"{if $product->quantity <= 0} style="display: none;"{/if}>
<span id="quantityAvailable">{$product->quantity|intval}</span>
<span {if $product->quantity > 1} style="display: none;"{/if} id="quantityAvailableTxt">{l s='Item'}</span>
<span {if $product->quantity == 1} style="display: none;"{/if} id="quantityAvailableTxtMultiple">{l s='Items'}</span>
</p>
{/if}
{if $PS_STOCK_MANAGEMENT}
<!-- availability -->
<p id="availability_statut"{if ($product->quantity <= 0 && !$product->available_later && $allow_oosp) || ($product->quantity > 0 && !$product->available_now) || !$product->available_for_order || $PS_CATALOG_MODE}{/if}>
{*<span id="availability_label">{l s='Availability:'}</span>*}
<span id="availability_value"{if $product->quantity <= 0 && !$allow_oosp} class="warning_inline"{/if}>{if $product->quantity <= 0}{if $allow_oosp}{$product->available_later}{else}{l s='This product is no longer in stock'}{/if}{else}{$product->available_now}{/if}</span>
</p>
{hook h="displayProductDeliveryTime" product=$product}
<p class="warning_inline" id="last_quantities"{if ($product->quantity > $last_qties || $product->quantity <= 0) || $allow_oosp || !$product->available_for_order || $PS_CATALOG_MODE}{/if} >{l s='Warning: Last items in stock!'}</p>
{/if}
<p id="availability_date"{if ($product->quantity > 0) || !$product->available_for_order || $PS_CATALOG_MODE || !isset($product->available_date) || $product->available_date < $smarty.now|date_format:'%Y-%m-%d'}{/if}>
<span id="availability_date_label">{l s='Availability date:'}</span>
<span id="availability_date_value">{dateFormat date=$product->available_date full=false}</span>
</p>
<!-- Out of stock hook -->
<div id="oosHook"{if $product->quantity > 0} style="display: none;"{/if}>
{$HOOK_PRODUCT_OOS}
</div>

尝试删除一些

的不同内容
style="display: none;"

没有成功。

感谢您的帮助。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

如果没有显示此代码,则某些if条件为false

{if ($display_qties == 1 && !$PS_CATALOG_MODE && $PS_STOCK_MANAGEMENT && $product->available_for_order)}

我认为您的商店不在商品目录模式中,所以我认为可能是产品编辑屏幕中的available_for_order字段。

祝你好运。

答案 1 :(得分:0)

尝试将第一篇帖子的代码更改为:

configuration

所以问题是,当产品或组合可用时,它可以正常工作,因为我可以看到,例如,“2 Item available”,但当产品或组合不可用时问题仍然存在。当产品不可用时,没有任何东西出现,在代码中我可以看到它会显示“此产品不再有货”但我看不到它...... 我不知道为什么。仅显示span标记中的文本,而不显示其余文本。