Вопрос

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

Я понимаю, что есть модули, которые делают это, но я бы хотел сделать это сам.Отчасти для обучения.

Это было полезно?

Решение

В качестве общего подхода вы могли бы использовать Javascript для изменения ссылок на страницы продукта, чтобы они открывались во всплывающем окне (неясно, имеете ли вы в виду уровень AJAX или "реальное" всплывающее окно, которое браузеры многих пользователей блокируют).Затем измените XML-файлы макета, чтобы добавить или удалить любые необходимые вам блоки.

Если вы хотите иметь как обычную страницу, так и зависший "слой", то создайте новый контроллер и наследовите его от макета представления каталога (IIRC, $this->loadLayout('catalog_product_view') должен это сделать).Затем, еще раз, измените макеты для ваш тег макета для добавления и удаления по мере необходимости.

Другие советы

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

Тогда я сделал копию каталога.xml и переименовал его в соответствии с моим модулем.Затем удалил, что все не касается страницы просмотра продукта.Я сделал копию шаблона представления и установил, что в качестве шаблона в моем макете XML.Затем я сделал необходимые изменения в пределах макета XML, либо на новый шаблон представления.

Я не мог получить $this->loadLayout('catalog_product_view') для работы для меня.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top