提前感谢您的帮助(我首先在这里发布了我的问题,但几天都没有回复)。
在Magento,我希望将库存数量设置为0的可配置产品的"添加到购物车"按钮更改为"预购"按钮。
使用本教程,我成功地完成了我想要的东西,但似乎这个解决方案只适用于简单的产品,而不适用于可配置的产品(或者我错过了一些东西)
我看了这篇帖子,有人说有机互联网做的SCP简单配置产品扩展解决了他的问题。我不知道这对他有什么帮助。我在我的网站上安装了这个扩展。似乎并没有将按钮从"添加到购物车"更改为"预购"之类的选项。也许我错过了什么。
有人能帮助我解决这个问题,或者为我指明正确的方向吗?
本教程有一个php条件,用于查找Qty值。问题是,对于可配置的产品,您需要加载关联的简单产品才能获取Qty值。
建议:你试过用isseable吗?只有当产品无法销售时,才会显示"预购"按钮。
<?php if( $_product->isSaleable() ): echo $addtocart; else: echo $preorder; endif; ?>
如果你只是想让所有可配置的产品都有"预购"按钮,而不管库存如何,一个解决方案是修改这个数量条件,只检查它是否是可配置产品。一种方法是改变所有出现的情况:
<?php if($_product->getStockItem()->getQty()>0): echo $addtocart; else: echo $preorder; endif; ?>
到此:
<?php if( $_product->getTypeId() == 'configurable' ): echo $preorder; else: echo $addtocart; endif; ?>
下面是一个加载关联的简单产品的示例,以便获得Qty值。这可能不需要,因为它更复杂。
foreach ($_product->getTypeInstance(true)->getUsedProducts ( null, $_product) as $simple) {
Mage::getModel('cataloginventory/stock_item')->loadByProduct($simple)->getQty();
}
在您的pordut/list.phtml中,尝试检查产品类型,如所示
<?php if( $_product->getTypeId() == 'configurable' ): ?>
首先访问app/design/frontend/[your package]/[your theme]/template/controlog/product/view/addtocart.phtml。在那里你可以像这样编码:
<?php if($_product ->getTypeId() == 'configurable'): ?>
//Do your part
所有最好的