Атрибут продукта на продуктах сетка/просмотр списка (производитель)
-
16-10-2019 - |
Вопрос
Я пытаюсь показать атрибуты продукта на сетке (Catalog (Products/list.phtml).
В приложении/code/coremage/catalog/block/product/list.php я нашел это
public function addAttribute($code)
{
$this->_getProductCollection()->addAttributeToSelect($code);
return $this;
}
На моем Catalog.xml (Theme/Mayout/Catalog.xml) я добавляю следующий «Addattribute в моем блоке
<catalog_category_default translate="label">
<label>Catalog Category (Non-Anchor)</label>
<reference name="left">
<block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left.phtml"/>
</reference>
<reference name="content">
<block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
<block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
<action method="addAttribute"><attribute>Manufacturer</attribute></action>
На моем phtml-template я стараюсь показать производителю так:
<?php echo $_product->getAttributeText('manufacturer') ?>
Но это не работает. Я не знаю почему. Я нашел учебник через Google, и я уверен, что я сделал это правильно. Я работаю с Magento Enterprise 1.13. Где моя вина? Спасибо за вашу помощь.
Решение
Вам нужна вся эта разметка XML, чтобы добавить атрибут в сетку продукта. Просто отредактируйте атрибут в бэкэнде, установите поле Used in Product Listing
к Yes
, все повторно, и вы должны иметь возможность использовать в catalog/product/list.phtml
это:
<?php echo $_product->getAttributeText('manufacturer') ?>
Другие советы
В Magento 1.7.2 вы должны использовать это
<?php echo $_product->getManufacturer() ?>
Если вы хотите сделать еще один шаг и отобразить логотип для производителей, вы можете реализовать следующий код как в view.phtml, так и/или list.phtml:
<?php $brand=$_product->getAttributeText('manufacturer');
$filename= $_SERVER['DOCUMENT_ROOT'].'/media/catalog/brands/'.str_replace(' ', '_',$brand).'.jpg';
if (file_exists($filename)) {
echo '<img style="float: left; margin: 2px;" src="/media/catalog/brands/'.str_replace(' ', '_',$brand).'.jpg" alt="'.$brand.'">';
}
?>
Примечание: вам нужно разместить JPG для каждого названия производителя в вашем /Magento/Media/Catalog/Brand/ Имя должно соответствовать атрибуту вашего производителя.
Пример:
Производитель = холодильник ----> filename = холодильник.jpg
Если вы не разместите файл, соответствующий атрибуту производителя, будет отображаться имя атрибута.
В Magento 1.9 CE мы попробуем Marius ответом и не работаем, мы делаем это:
<?php echo $this->__('Year:') . $this->htmlEscape($_product->getData('year'));?>
Это может быть еще один атрибут и не пропустить, чтобы включить используемый в списке продуктов.
Чтобы получить ценность для страны производства, вам просто нужно написать следующий код в вашем списке. Этот код используется для выпадения по умолчанию для производства страны для продукта.
Просто отредактируйте атрибут в бэкэнде, установите поле «Используется в списке продуктов» на «Да».
<?php echo $_product->getAttributeText('country_of_manufacture') ?>
Здесь country_of_manufacture
это код атрибута.
Мне нужен производитель с гипер -ссылкой. Мой веб -сайт имеет модуль Marketplace, и у каждого продавца есть название магазина и магазина в этом "Блок-титл MP-vendor-name" Анкет Теперь я хочу показать каждое имя продавца ниже продукта на странице категории.
Пожалуйста, помогите мне. Заранее спасибо.