Хочется добавить дополнительные поля (например, производитель) к уже существующим (ИД, Название, Тип, Набор атрибутов, Артикул (SKU), Цена, Кол-во, Видимость, Статус) в админке в каталоге товаров.
Делаю так:
Mage\Adminhtml\Block\Catalog\Product\Grid
В _prepareCollection добавляю
->addAttributeToSelect('manufacturer');
в _prepareColumns() добавляю
$this->addColumn('manufacturer',
array(
'header'=> Mage::helper('catalog')->__('Manufacturer'),
'width' => '60px',
'index' => 'manufacturer',
'type' => 'options',
'options' => Mage::getSingleton('catalog/product_manufacturer')->getOptionArray(),
));
ничего не меняется.
ПОМОГИТЕ
Solved! Go to Solution.
Что значит "ничего не меняется"?
Поле не появляется или значений нет?
Что значит "ничего не меняется"?
Поле не появляется или значений нет?
Нет поля
Тогда возможны варианты:
1. Включена компиляция (отключите)
2. Какой-то модуль переписывает указанный блок и этот файл не используется
компиляцию выключил.
теперь в управление товаров не могу зайти - пустая страница.
возвращаю исходник на место - все работает. нет только того что нужно...
явно в коде который я добавляю что то не так (я от php далек)
Смотри ошибки php на сервере. Скорее всего проблема в этих строках
'type' => 'options', 'options' => Mage::getSingleton('catalog/product_manufacturer')->getOptionArray(),
Нет такой модели в стандартной Magento. Сотри их.
делал по образцу рабочего модуля
$this->addColumn('status',
array(
'header'=> Mage::helper('catalog')->__('Status'),
'width' => '70px',
'index' => 'status',
'type' => 'options',
'options' => Mage::getSingleton('catalog/product_status')->getOptionArray(),
));
Модель "catalog/product_status" есть.
Направление понятно...
Как можно узнать модель для нужного атрибута?
Необходимо добавить колонку в админку с производителем.
Нет отдельной модели. Попробуй пока вообще без этих строк двух. В поле должны вывестись значения атрибутов (идентификаторы). А потом уже можно копать в сторону где взять текстовые значения.