Magento Получить текст атрибута продукта в Stock.php
Я пытался скорректировать количество запасов, уменьшенное продажей, в зависимости от атрибута продукта, я пробовал следующие методы, но, похоже, ничего не добился.
Версия Magento: 1.8.0.0
Файл: /app/code/core/Mage/CatalogInventory/Model/Resource/Stock.php
Около строки 158 после: для каждого ($PRODUCTQTYS как $ProductID => $кол-во)
Я добавил следующий код:
$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 другими вариантами.
Надеюсь, кто-нибудь сможет помочь! заранее спасибо.
2 answers
Наконец-то понял, что работает следующее - я, должно быть, перепробовал 15 различных вариантов, прежде чем это сработало.
$myproduct = Mage::getModel('catalog/product')->load($productId);
$mylength = $myproduct->getAttributeText('length');
Спасибо БаззДжо за то, что он указал мне правильное направление, в конце концов я использовал:
Mage::Log('$productId: '.$productId, null, 'mylogfile.log');
Mage::Log('$mylength: '.$mylength, null, 'mylogfile.log');
Чтобы следить за происходящим. Не удалось заставить var_dump работать.
Вы пробовали использовать var_dump ($Контрольная длина)? Возможно, ценность проявляется не так, как вы думаете.
И, кстати: никогда не стоит редактировать основные файлы. Вместо этого вам следует разработать расширение.