Я пытался отрегулировать количество запасов, уменьшенных в результате продажи, в зависимости от атрибута продукта, я пробовал следующие методы, но, похоже, ничего не получалось.
Версия 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: этот атрибут находится в раскрывающемся списке с двумя другими параметрами.
Надеюсь, кто-то может помочь! Заранее спасибо.