繁体   English   中英

Magento的。 将可配置产品的“添加到购物车”按钮更改为“预购”按钮

[英]Magento. Change “Add to cart” button to “Pre-order” button for configurable products

预先感谢您的帮助(我先在这里发表问题,但几天都没有答复)。

在Magento中,我希望将库存数量设置为0的可配置产品的“添加到购物车”按钮更改为“预购”按钮。

通过使用本教程 ,我设法完成了所需的工作,但是看来该解决方案仅适用于简单的产品,不适用于可配置的产品(或者我错过了一些东西)

我看了这篇文章,有人说由Organic Internet制造的SCP简单可配置产品扩展解决了他的问题。 我不确定这对他有什么帮助。 我的网站上安装了此扩展程序。 似乎没有选择将按钮从“添加到购物车”更改为“预订”之类的选项。 也许我想念一些东西。

谁能帮我解决这个问题或为我指明正确的方向?

本教程有一个php条件,它正在寻找Qty值。 问题是,对于可配置产品,您需要加载关联的简单产品才能提取“数量”值。

建议:您是否尝试过使用issale? 如果该产品不可销售,则只会显示“预购”按钮。

<?php if( $_product->isSaleable() ): echo $addtocart; else: echo $preorder; endif; ?>

如果您简单地希望所有可配置产品都具有“ Pre-Order”按钮,而与库存无关,则一种解决方案是修改此“数量”条件,以仅检查其是否为可配置产品。 一种方法是更改​​所有这种情况:

<?php if($_product->getStockItem()->getQty()>0): echo $addtocart; else: echo $preorder; endif; ?>

对此:

<?php if( $_product->getTypeId() == 'configurable' ): echo $preorder; else: echo $addtocart; endif; ?>

这是加载相关联的简单产品以获取数量值的示例。 由于它比较复杂,因此可能不需要。

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 / [您的程序包] / [您的主题] /template/catalog/product/view/addtocart.phtml。 您可以在其中编写如下代码:

<?php if($_product ->getTypeId() == 'configurable'): ?>
//Do your part

祝一切顺利

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM