2010-01-25 3 views
1

Я хотел бы добавить новую вкладку в страницу «каталог-> управлять продуктами-> информация о продукте» в администраторе. Под вкладкой «images» я хотел бы добавить новую вкладку для видео с простым текстовым вводом для добавления URL-адреса видео, который я могу затем захватить для интерфейса.Magento - добавление нового поля в параметры продукта в admin

Какие-либо идеи, в которых файлы должны быть изменены? Я смотрю последние пару часов без радости. Я нашел список текущих параметров в Mage_Catalog_Model_Resource_Eav_Mysql4_Setup, но не могу понять, как их добавить ...

Кажется, что он получает некоторые из Mage_Adminhtml_Block_Catalog_Product_Edit_Tabs. Если я копирую один из разделов вкладки здесь и изменяю заголовок на Видео, я могу заставить его отображать на вкладках слева. Но как я могу добавить варианты для этого?

+0

ли у меня решение для этого? Я последовал, как объяснено ниже. Но бесполезно. Позвольте мне знать правильное решение для этого. –

ответ

1

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

После этого вам нужно будет где-то хранить данные. Глядя в Adminhtml/controllers/ProductController, вы должны иметь возможность подключиться к событию catalog_product_prepare_save, чтобы получить данные от $event->getRequest() и надавить на него или сохранить другой объект по мере необходимости.

Я не уверен, насколько хорошо семантика сохранения файлов будет работать на продукте, поэтому вы можете захотеть создать собственное хранилище данных в расширении, а затем предоставить что-то вроде метода getVideoForProduct для его извлечения.

Тогда осталось только изменить файл шаблона catalog/product/view.phtml, чтобы включить большие пальцы, и создать контроллер в своем расширении, чтобы предоставить модальное видео (или сделать это в JS).

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

Спасибо, Джо

3

То, что вы пытаетесь сделать, из его звуков заключается в создании настраиваемого поля и добавлении его в данные вашего каталога. Хорошей новостью является то, что вам не нужно гадать на PHP для этого.

Отправляйтесь в каталог -> Атрибуты -> Атрибуты и создайте для себя новый атрибут «URL-адрес видео» (или что-то в этом роде). Вероятно, это текстовое поле, и вы можете скрыть его от сравнения на интерфейсе сайта (выберите «Нет» для всех этих полей внизу формы).

Как только вы создали атрибут, вам нужно будет добавить его в набор атрибутов. Если все ваши продукты имеют один «тип», и если вы не создали никаких других наборов атрибутов, это должен быть только один шаг. Зайдите в каталог -> Атрибуты -> Управление наборами атрибутов и создайте «новую группу» под названием «Видео» и перетащите в нее новый атрибут URL-адреса видео. Сохраните набор атрибутов, и теперь у вас должна быть новая вкладка.

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

Надеюсь, что это поможет. Спасибо,

Джо

+0

Спасибо за то, что Джо - я думал о том, чтобы сделать это как атрибут первым, но я не думаю, что могу загрузить любые файлы, чем могу? Я планировал иметь форму загрузки, чтобы добавить миниатюру для каждого видео и открыть видео в модальном окне на интерфейсе. Кроме того, я, вероятно, буду использовать это на многочисленных сайтах, поэтому было бы проще как расширение, которое я могу просто зайти. –

Смежные вопросы