1

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

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

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

谢谢你。

4

3 回答 3

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()
        );
于 2013-08-20T19:14:53.007 回答
1

基于 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 块。

于 2015-04-01T12:30:28.647 回答
0

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

请注意,在核心中进行更改会使您的网站不利于更新。将文件复制到本地目录。

于 2014-07-27T16:52:55.433 回答