【问题标题】:Magento. Change "Add to cart" button to "Pre-order" button for configurable productsMagento。将可配置产品的“添加到购物车”按钮更改为“预订”按钮
【发布时间】:2014-09-29 04:42:10
【问题描述】:

提前感谢您的帮助(我首先发布了我的问题here,但几天没有回复)。

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

使用这个tutorial,我设法完成了我正在寻找的东西,但似乎这个解决方案只适用于简单的产品,而不适用于可配置的产品(或者我错过了一些东西)

我看了this 的帖子,有人说有机互联网制作的 SCP 简单可配置产品扩展解决了他的问题。我不确定这对他有什么帮助。我在我的网站上安装了这个扩展。似乎没有将按钮从“添加到购物车”更改为“预订”或类似的选项。也许我错过了什么。

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

【问题讨论】:

    标签: php magento


    【解决方案1】:

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

    建议:您是否尝试过使用 issaleable?这只会在产品不可销售时显示“预购”按钮。

    <?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; ?>
    

    这是一个加载相关简单产品的示例,以获取数量值。这可能不需要,因为它更复杂。

    foreach ($_product->getTypeInstance(true)->getUsedProducts ( null, $_product) as $simple) {
         Mage::getModel('cataloginventory/stock_item')->loadByProduct($simple)->getQty();
     }
    

    【讨论】:

      【解决方案2】:

      在您的 pordut/list.phtml 中,尝试检查产品类型,如图所示

      <?php if( $_product->getTypeId() == 'configurable' ): ?>
      

      【讨论】:

        【解决方案3】:

        首先转到 app/design/frontend/[your-package]/[your-theme]/template/catalog/product/view/addtocart.phtml。 在那里你可以编写如下代码:

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

        一切顺利

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-06-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-12-17
          • 1970-01-01
          相关资源
          最近更新 更多