Pergunta

Gostaria de criar uma janela pop-up para produtos em vez de direcionar para outra página.Estou procurando conselhos sobre a melhor maneira de basicamente fazer uma cópia do modelo de visualização do produto para modificar de acordo com minhas necessidades, sem precisar criar modelos e blocos separados.Estou usando a versão 1.3.2.2.Deixe-me saber se alguma coisa precisa de esclarecimento.

Sei que existem módulos que fazem isso, mas gostaria de fazer sozinho.Em parte para aprender.

Foi útil?

Solução

Como uma abordagem geral, você pode usar o JavaScript para alterar os links da página do produto para abrir em um pop-up (não desmarcado se você quiser uma camada AJAX ou um pop-up "real", que os navegadores de muitos usuários bloquearão).Em seguida, modifique os arquivos XML de layout para adicionar ou remover todos os blocos que você precisa.

Se você quiser ter a página normal e uma "camada" pairada, crie um novo controlador e tenha herdado do layout de exibição do catálogo (IIRC, $this->loadLayout('catalog_product_view') fazer isso).Em seguida, mais uma vez, altere os layouts para sua etiqueta de layout para adicionar e remover conforme necessário.

Outras dicas

A resposta de Joseph não foi muito clara para mim, mas foi o que fiz.Criei um novo módulo para o popup com um novo controlador que estendeu o ProductController.Fiz uma cópia do viewAction e renomeei-o para popupAction em meu novo controlador.

Então fiz uma cópia do catalog.xml e renomeei de acordo com meu módulo.Em seguida, excluí tudo que não pertencia à página de visualização do produto.Fiz uma cópia do modelo de visualização e defini-o como modelo em meu layout xml.Em seguida, fiz as alterações necessárias no layout xml ou no novo modelo de visualização.

eu não consegui $this->loadLayout('catalog_product_view') para trabalhar para mim.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top