заказать интернет магазин

Вывод атрибутов товара Magento

Работая над нестандартными темами Magento, часто возникает необходимость вывести атрибуты товара не через стандартную функцию вывода массива атрибутов, а непосредственно конкретный атрибут в нужном нам месте. Самым простым способом можно добавить на страницу продукта атрибуты типа текстовое поле. Добавить их же в список продуктов (страница категории) гораздо сложнее, но об этом подробно в другом посте. В этом посте мы рассматриваем лишь добавление атрибутов на страницу продукта.

Итак, если это текстовое поле, то все, что вам нужно сделать это использовать такой код:

<?php echo $_product->getAttributeName(); ?>
Здесь есть важная особенность о которой не стоит забывать. Если код вашего атрибута «shirt_size», тогда вместо getAttributeName() вы пишите getShirtSize(). Важно убирать нижнее подчеркивание и писать каждое слово с большой буквы, иначе ничего не получится.
 
Второй способ подходит для вывода атрибутов типа выпадающий список или множественный выбор:
<?php echo $_product->getAttributeText('shirt_size') ?>
Как видим, в данном случае мы используем именно код атрибута без изменений его написания. Следует обратить внимание, что данный метод вернет значение атрибута только для выпадающего списка. Если же вы будете использовать этот метод для множественного выбора, то он вернет лишь массив данных в виде индексов значений свойств.
 
А вот еще несколько приемов которые позволят расширить возможности работы с атрибутами типа множественный выбор.
 
Этот код вернет ID значений для атрибута типа множественный выбор:
<?php echo $_product->getData('color');  //вернет: 456,499 ?>

Этот код возвращает объект атрибута, как сущность Mage_Catalog_Model_Resource_Eav_Attribute:

<?php $_product->getResource()->getAttribute('color'); // сущность Mage_Catalog_Model_Resource_Eav_Attribute ?>

Этот код вернет массив текстовых значений атрибута:

<?php $_product->getAttributeText('color') // Array([0]=>'red', [1]=>'green') ?>

Этот код вернет текстовые значения свойств атрибута и это скорее всего именно то, что нужно чаще всего:

<?php 
if ($attr = $_product->getResource()->getAttribute('color')) {
   echo $attr->getFrontend()->getValue($_product); // вернет текст: red, green
}
?>

 Источник: master-web

P.S. Если вам необходимо заказать интернет магазин Magento или заказать сайт в Киеве - мастерская сайтов РАКЕТА готова выполнить весь перечень работ под ключ.

Оценка: 
Средняя: 5 (18 оценки)

Поделиться

О Нас

Предлагаем заказать сайт или заказать интернет магазин любой степени сложности. Создание сайтов в нашей студии предполагает постоянную фокусировку на том что в дальнейшем ресурс должен занимать достойное место в поисковой выдаче Google, Yandex. Если вас интересует разработка сайтов под ключ, то всегда помните что функционал и органическая поисковая оптимизация зависит на 90% от платформы, на которой построен интернет-магазин.