我在PS 1.7上有一个问题;我正在尝试根据购物车上的库存和订单确认显示{$product.availability_message}(发货延迟消息)。它在购物车上运行良好,但在订单确认(order-confirmation-table.tpl)上不显示。有什么办法吗?
下面是我的代码:
{if (isset($product.quantity_all_versions) && $product.quantity_all_versions < 0)}
<div>
<span class="red icon--pulsing"></span>
<span class="msg">{$product.availability_message}</span>
</div>
{else}
<div>
<span class="icon--pulsing"></span>
<span class="msg">Available</span>
</div>
{/if}
2条答案
按热度按时间ndasle7k1#
Krystian Podemski的回答是完全正确的。我以前用过同样的方法。然而,我使用了不同的产品的属性比你,我无法重现它使用
quantity_all_versions
和availability_message
属性。我使用了quantity_available
和available_later
属性。无论如何,你必须在
\override\classes\
文件夹中创建一个新文件PaymentModule.php
。在这里,你必须创建一个新的类
PaymentModule
,函数为validateOrder
。然后找到数组
$product_var_tpl
并添加所需的属性。在我的情况下:然后,您可以在
/themes/<your theme>/templates/checkout/_partials/order-confirmation-table.tpl
中显示available_later
消息,如下所示:pkmbmrz72#
你需要覆盖
PaymentModule::validateOrder
。在这部分代码中:https://github.com/PrestaShop/PrestaShop/blob/1.7.8.x/classes/PaymentModule.php#L434
有一系列的产品。