всплывающее окно продукта magento
-
13-09-2020 - |
Вопрос
Я бы хотел создать всплывающее окно для продуктов вместо перехода на другую страницу.Я ищу совет о наилучшем способе создания копии шаблона представления продукта для изменения в соответствии с моими потребностями без необходимости создавать отдельные модели и блоки.Я использую версию 1.3.2.2.Дайте мне знать, если что-то нуждается в уточнении.
Я понимаю, что есть модули, которые делают это, но я бы хотел сделать это сам.Отчасти для обучения.
Решение
В качестве общего подхода вы могли бы использовать Javascript для изменения ссылок на страницы продукта, чтобы они открывались во всплывающем окне (неясно, имеете ли вы в виду уровень AJAX или "реальное" всплывающее окно, которое браузеры многих пользователей блокируют).Затем измените XML-файлы макета, чтобы добавить или удалить любые необходимые вам блоки.
Если вы хотите иметь как обычную страницу, так и зависший "слой", то создайте новый контроллер и наследовите его от макета представления каталога (IIRC, $this->loadLayout('catalog_product_view')
должен это сделать).Затем, еще раз, измените макеты для ваш тег макета для добавления и удаления по мере необходимости.
Другие советы
Ответ Джозефа не совсем понял для меня, но это то, что я сделал.Я создал новый модуль для всплывающего окна новым контроллером, который расширил ProductController.Я сделал копию оказания и переименовал его в восстанавливающееся в моем новом контроллере.
Тогда я сделал копию каталога.xml и переименовал его в соответствии с моим модулем.Затем удалил, что все не касается страницы просмотра продукта.Я сделал копию шаблона представления и установил, что в качестве шаблона в моем макете XML.Затем я сделал необходимые изменения в пределах макета XML, либо на новый шаблон представления.
Я не мог получить $this->loadLayout('catalog_product_view')
для работы для меня.