getData не работает, возвращает пустой - PullRequest
1 голос
/ 05 января 2012

Я создаю свой собственный атрибут, но когда я показываю его своим методом, он не работает!

Смотрите, как сделать ... создайте мой атрибут ..

$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$config = array(
    'position' => 1,
    'required'=> 0,
    'label' => 'Height',
    'type' => 'int',
    'input' => 'text',
    'apply_to' => 'simple,bundle,grouped,configurable'
);

$setup->addAttribute('catalog_product', 'height' , $config);

и я получаю список предметов в кассе ...

$items = Mage::getModel('checkout/cart')->getQuote()->getAllVisibleItems();

foreach($items as $item){

    echo $item->getSku() .'<br/>'; //just test... and all right!

    echo $item->getHeight() .'<br/>'; //return empty! or....
    echo $item->getData('height') .'<br/>';//return empty!
}

Я устанавливаю значения в полях этого атрибута в своем бэкэнде.

Спасибо за помощь!

Ответы [ 2 ]

6 голосов
/ 05 января 2012

Ваши атрибуты, вероятно, не загружаются по умолчанию. Чит, без исправления основной проблемы добавления height в инструкцию addAttributeToSelect() коллекции, будет означать повторную загрузку модели продукта:

$product = Mage::getModel('catalog/product')->load($item->getProduct()->getId());
echo $product->getHeight();

Однако это не решает суть проблемы и запускает дополнительный запрос к базе данных.

Я задал похожий вопрос пару месяцев назад относительно загрузки дополнительных данных, которые содержат некоторую дополнительную информацию, хотя в большей степени связанную с загрузкой коллекции, чем отдельные модели: Получение дополнительных данных из уже загруженных моделей Magento .

0 голосов
/ 05 января 2012

Попробуйте echo $ item-> getProduct () -> getHeight ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...