Magento捆绑下拉列表需要显示缺货

时间:2013-08-19 20:44:47

标签: php magento drop-down-menu bundle

在捆绑产品页面中,我需要显示捆绑中的产品是否缺货。目前,该产品根本没有出现在下拉列表中。我查看了“select.phtml”文件,并在开头找到这行代码获取下拉列表的选项值:

<?php $_selections  = $_option->getSelections(); ?>

不幸的是,这并不能获取“缺货”商品。那么,有没有办法包含这些项目?

谢谢。

3 个答案:

答案 0 :(得分:1)

希望这可以帮助某人。搜索了几个小时后,终于找到导致app / code / core / Mage / Bundle / Block / View / Type / Bundle.php内部问题的行

您需要更改此行

$this->_options = $optionCollection->appendSelections($selectionCollection, false,
            Mage::helper('catalog/product')->getSkipSaleableCheck()
        );

到这个

$this->_options = $optionCollection->appendSelections($selectionCollection, false,
        true        
        //Mage::helper('catalog/product')->getSkipSaleableCheck()
        );

答案 1 :(得分:0)

在Magento 1.8.1中,您可以在app / code / core / Mage / Bundle / Block / Catalog / Product / View / Type / Bundle.php中找到该文件

请注意,对核心进行更改会使您的网站无法更新。将您的文件副本复制到本地目录。

答案 2 :(得分:0)

在SimCity的答案基础上,您可以执行以下操作,而不是扩展/覆盖块。我已将此代码添加到bundle / catalog / product / view / type / bundle / options.phtml

的顶部
// Get the current value of SkipSaleableCheck
<?php $skipSaleableCheck = Mage::helper('catalog/product')->getSkipSaleableCheck() ?>
// Overwrite this value with a 'true' value
<?php Mage::helper('catalog/product')->setSkipSaleableCheck(true) ?>

然后,您可以使用以下代码在同一文件的底部重置此值:

<?php Mage::helper('catalog/product')->setSkipSaleableCheck($skipSaleableCheck) ?>

此方法提供相同的结果,而无需覆盖核心Magento块。