gpt4 book ai didi

magento - 在 magento 中显示可配置产品缺货

转载 作者:行者123 更新时间:2023-12-02 05:18:58 25 4
gpt4 key购买 nike

我为我的可配置产品设置了属性我想在我选择的尺码下拉列表中显示 L 尺码产品缺货

enter image description here我得到了一个代码,但这是针对 magento 1.4 的,我正在使用 magento 1.6

代码是

在 mage/catalog/block/product/view/type/configurable.php 中,在 ~85 行你有这样的东西:

foreach ($this->getAllowAttributes() as $attribute) {
$productAttribute = $attribute->getProductAttribute();
$attributeValue = $product->getData($productAttribute->getAttributeCode());

if (!isset($options[$productAttribute->getId()])) {
$options[$productAttribute->getId()] = array();
}

if (!isset($options[$productAttribute->getId()][$attributeValue])) {
$options[$productAttribute->getId()][$attributeValue] = array();
}
$options[$productAttribute->getId()][$attributeValue][] = $productId;



}

因此,在那个 foreach 循环中,最好在 foreach 行之后插入此代码:

$options['qty'][$product -> getAttributeText($productAttribute->getName())] = floor($product->getStockItem()->getQty());

之后,在 ~128 行你有这样的东西:

$info['options'][] = array(
'id' => $value['value_index'],
'label' => $value['label'] ,
'price' => $this->_preparePrice($value['pricing_value'], $value['is_percent']),
'products' => isset($options[$attributeId][$value['value_index']]) ? $options[$attributeId][$value['value_index']] : array(),
);
replace it with this :

$info['options'][] = array(
'id' => $value['value_index'],
'label' => ($options['qty'][$value['label']] <= 0) ? $value['label'] . ' * out of stock' : $value['label'] . " * (".$options['qty'][$value['label']]." in stock)",
'price' => $this->_preparePrice($value['pricing_value'], $value['is_percent']),
'products' => isset($options[$attributeId][$value['value_index']]) ? $options[$attributeId][$value['value_index']] : array(),
);

谁能告诉我根据 magento1.6 会有哪些变化?

最佳答案

创建您自己的模块,并在 config.xml 文件中的标记内添加这两个事件:

<events>
<controller_action_layout_render_before_catalog_product_view>
<observers>
<namespace_module>
<class>module/observer</class>
<method>showOutOfStock</method>
</namespace_module>
</observers>
</controller_action_layout_render_before_catalog_product_view>
<controller_action_layout_render_before_checkout_cart_configure>
<observers>
<namespace_module>
<class>module/observer</class>
<method>showOutOfStock</method>
</namespace_module>
</observers>
</controller_action_layout_render_before_checkout_cart_configure>
</events>

现在在 app/code/local/Namespace/Module/Model/Observer.php 中创建一个观察者

class Namespace_Module_Model_Observer {
public function showOutOfStock($observer){
Mage::helper('catalog/product')->setSkipSaleableCheck(true);
}
}

关于magento - 在 magento 中显示可配置产品缺货,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10810960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com