【发布时间】:2012-05-29 11:16:06
【问题描述】:
有人知道如何在可配置产品中列出缺货的简单产品吗?例如,我有一个具有多个属性、尺寸等的项目。如果我有某个尺寸缺货,它不会在下拉列表中列出,我希望它仍然出现在这里,但也告诉客户它缺货。这可能吗?
我尝试了许多谷歌可用的模组,但都失败了
我正在使用 magento 1.6
来源http://www.magentocommerce.com/boards/viewthread/33550/
【问题讨论】:
标签: magento
有人知道如何在可配置产品中列出缺货的简单产品吗?例如,我有一个具有多个属性、尺寸等的项目。如果我有某个尺寸缺货,它不会在下拉列表中列出,我希望它仍然出现在这里,但也告诉客户它缺货。这可能吗?
我尝试了许多谷歌可用的模组,但都失败了
我正在使用 magento 1.6
来源http://www.magentocommerce.com/boards/viewthread/33550/
【问题讨论】:
标签: magento
是的,它运作良好。我在 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 的默认演示模板上测试。它在下拉列表中显示一个简单的产品项目,但无法选择。
【讨论】:
不是 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 存储股票标志的位置 - 您可以使用它来创建您的逻辑 我没有对此进行测试,因此请确保它有效
【讨论】: