我一直在尝试调整因销售而减少的库存数量,具体取决于产品的属性,我尝试了以下方法,但似乎无济于事。
Magento 版本:1.8.0.0
文件:/app/code/core/Mage/CatalogInventory/Model/Resource/Stock.php
在第 158 行之后:foreach ($productQtys as $productId => $qty)
我添加了以下代码:
$CheckLength = Mage::getModel('catalog/product')->load($_item['product_id'])->getData('length');
if ( $CheckLength == 'Per Half Metre' )
{
$qty = $qty / 2;
}
并且还尝试了这个:
$myproduct = Mage::getModel('catalog/product');
if ($myproduct->getAttributeText('length')=='per Half Metre')
{
$qty = $qty / 2;
}
还有这个:
$storeId = Mage::app()->getStore()->getId(); // return current store id
$CheckLength = Mage::getResourceModel('catalog/product')->getAttributeRawValue($productId, 'length', $storeId);
if ( $CheckLength == 'Per Half Metre' )
{
$qty = $qty / 2;
}
以上似乎都不起作用。如果没有检查,数量会根据我的需要很好地除以 2,但是如果产品属性是“每半米”,我只需要它来执行此操作。
PS:此属性与其他 2 个选项位于下拉列表中。
希望有人能帮忙!提前致谢。