2013-11-26 1 views
2

Я пытался настроить количество акций, уменьшенное на продажу, в зависимости от атрибута продукта, я пробовал следующие методы, но, похоже, никуда не денутся.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; 
} 

Ничего из вышеперечисленного не похоже на работу. Без проверки, qty делит на 2 довольно хорошо, как мне нужно, но мне нужно только это, чтобы сделать это, если атрибут продукта «на полметра».

PS: Этот атрибут находится в раскрывающемся списке с двумя другими параметрами.

Надеюсь, кто-то может помочь! Заранее спасибо.

ответ

4

Наконец-то выяснилось, следующие работы - я должен был попробовать 15 различных вариантов, прежде чем это сработало.

$myproduct = Mage::getModel('catalog/product')->load($productId); 
$mylength = $myproduct->getAttributeText('length'); 

Благодаря BuzzJoe для указал мне в правильном направлении, я в конце концов использовали:

Mage::Log('$productId: '.$productId, null, 'mylogfile.log'); 
Mage::Log('$mylength: '.$mylength, null, 'mylogfile.log'); 

сохранить чек на вещи. Не удалось заставить var_dump работать.

0

Вы пытались var_dump ($ CheckLength)? Возможно, значение не появляется так, как вы думаете.

И, между прочим: никогда не рекомендуется редактировать основные файлы. Вместо этого вы должны разработать расширение.

+0

Thanks BuzzJoe. Я задавался вопросом, как получить значение для отображения, так что я могу проверить его, будет ли это дамп журналу или экрану во время обработки? – user892970

+0

вид. var_dump() предложит значение переменной и тип вывода скрипта. Таким образом, он появится, когда вы перезагрузите страницу в своем браузере, где будет работать эта строка кода. Вы также можете записать его в файл журнала magento. Просто найдите, как это сделать. – BuzzJoe

 Смежные вопросы

  • Нет связанных вопросов^_^