Magento: получение значений атрибутов в корзине

Это мой первый проект в Magento, и у меня возникла проблема с попыткой получить значения атрибутов для моих товаров в корзине. То, что у меня сейчас, ничего не отображает. У меня есть 3 основных атрибута (ширина, высота, глубина) и один настраиваемый атрибут (ткань). Это то, что у меня есть в default.phtml для элементов оформления заказа:

$_item = $this->getItem();
$_product = Mage::getModel('catalog/product')->load($_item->getProductId());

echo $_product->getWidth();
echo $_product->getHeight();
echo $_product->getDepth();

echo $_product->getAttributeText('fabric');

Я был бы признателен, если бы кто-нибудь мог сказать мне, как заставить это работать. Спасибо.


person samzgrams    schedule 13.04.2013    source источник
comment
var_dump ($ _ product) что-нибудь отображает?   -  person Francis Kim    schedule 15.04.2013


Ответы (3)


Попробуй это

$attributes = $_product->getAttributes();
foreach ($attributes as $attribute) {
    if ($attribute->getIsVisibleOnFront()) {
      echo  $value = $attribute->getFrontend()->getValue($_product);

    }
}
person Mahmood Rehman    schedule 14.04.2013

Добавляя атрибуты, вы указываете им код атрибута, только строчные буквы и символы подчеркивания. (Каталог> Атрибуты> Управление атрибутами, код атрибута обычно указан слева). Предположим, вы назвали их чем-то вроде их описания, тогда ....

echo $_product->getData('width');
echo $_product->getData('height');
echo $_product->getData('depth');
person Chris Hardaker    schedule 11.10.2013

Для раскрывающегося типа атрибута получение значений в корзине можно выполнить с помощью следующего кода:

echo nl2br($_product->getResource()->getAttribute('fabric')->getFrontend()->getValue($_product));

ткань - это код атрибута. Вы можете использовать здесь свой код атрибута.

person Akash Patel    schedule 11.11.2014