首页 文章

在可配置产品中显示“缺货”简单产品?

提问于
浏览
0

有谁知道如何在可配置产品中列出缺货的简单产品?例如,我有一个具有多个属性,大小等的项目 . 如果我有一定的尺寸缺货,它将不会在下拉列表中列出,我希望它仍然出现在这里,但也告诉客户它缺货 . 这可能吗?

我尝试过谷歌提供的许多mod,但都失败了

我正在使用magento 1.6

来源 http://www.magentocommerce.com/boards/viewthread/33550/

2 回答

  • 3

    是的,效果很好 . 我在v1.9使用它,行计算有点不同 . 第179行修改为

    if(!$this->_validateAttributeValue($attributeId, $value, $options)) {
        $inStock = false;
    }
    

    然后在202行添加

    'stock' => $inStock
    

    并获得代码

    $info['options'][] = array(
        'id' => $value['value_index'],
        'label' => $value['label'],
        'price' => $configurablePrice,
        'oldPrice'  => $this->_prepareOldPrice($value['pricing_value'],$value['is_percent']),
                                'products'  => $productsIndex,
                                'stock'     => $inStock
                            );
    

    app\design\frontend\base\default\template\catalog\product\view\type\options\configurable.php 中,在第29行之后指定

    $inStock=false;
    

    在v.1.9的默认演示模板上测试 . 它在下拉列表中显示一个简单的产品项,但选择不可用 .

  • 2

    不是100%肯定,但我认为你可以通过修改Mage_Catalog_Block_Product_View_Type_Configurable的第151行来达到你想要的效果:

    if(!$this->_validateAttributeValue($attributeId, $value, $options)) {
       $inStock = false;
    }
    

    然后,在第170行,您可以在选项数组中包含此标志:

    $info['options'][] = array(
        'id'        => $value['value_index'],
        'label'     => $value['label'],
        'price'     => $configurablePrice,
        'oldPrice'  => $this->_preparePrice($value['pricing_value'], $value['is_percent']),
        'products'  => $productsIndex,
        'stock'     => $inStock
    );
    

    然后,在前端:app \ design \ frontend \ base \ default \ template \ catalog \ product \ view \ type \ options \ configurable.php你有$ options var存储stock标志 - 你可以用它来创建你的逻辑我没有测试这个,所以确保它有效

相关问题