всплывающее окно продукта magento - PullRequest
2 голосов
/ 09 июля 2010

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

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

Ответы [ 2 ]

1 голос
/ 10 июля 2010

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

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

0 голосов
/ 23 июля 2010

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

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

Я не смог заставить $this->loadLayout('catalog_product_view') работать на меня.

...