延期交货信息出现两次

时间:2013-01-09 18:30:11

标签: magento cart

出于某种原因,我的可配置产品在购物车页面上出现两次“延期交货”消息。我将错误消息跟踪到此Mage代码:

if ($this->getBackorders() == Mage_CatalogInventory_Model_Stock::BACKORDERS_YES_NOTIFY) {
    if (!$this->getIsChildItem()) {
        $result->setMessage(
            Mage::helper('cataloginventory')->__('This product is not available in the requested quantity. %s of the items will be backordered.', ($backorderQty * 1))
        );
    } else {
        $result->setMessage(
           Mage::helper('cataloginventory')->__('"%s" is not available in the requested quantity. %s of the items will be backordered.', $this->getProductName(), ($backorderQty * 1))
        );
    }
}

我收到了这些消息。这就像它为同一产品检查两次,一次是可配置的,一次是简单的。

我认为这是一个配置问题,而不是我需要更改的代码中的内容。什么会导致这种奇怪的行为?

2 个答案:

答案 0 :(得分:0)

你重写了Mage_Model_CatalogInventory_Observer类吗?你用的是什么版本?

答案 1 :(得分:0)

我是这样做的。 preg_match message['text']已暂停并控制它。这是你的代码

    $i=0;
    foreach ($messages as $message):

      $txt= $message['text'] ;
      $re='(backordered)';  # Word 3

    if (preg_match_all ("/".$re."/is", $txt, $matches))
      { if($i == 0){?>
            <p class="item-msg <?php echo $message['type'] ?>">* <?php echo $this->escapeHtml($message['text']); ?></p>
     <?php }
     }
     else
     { ?>
      <p class="item-msg <?php echo $message['type'] ?>">* <?php echo $this->escapeHtml($message['text']) ?></p>
    <?php }
     $i++;
    endforeach;