Pregunta

Me gustaría crear una ventana emergente para productos en lugar de dirigirme a otra página.Estoy buscando consejos sobre la mejor manera de hacer básicamente una copia de la plantilla de vista del producto para modificarla según mis necesidades sin tener que crear modelos y bloques separados.Estoy usando la versión 1.3.2.2.Avíseme si necesita alguna aclaración.

Sé que hay módulos que hacen esto, pero me gustaría hacerlo yo mismo.En parte para aprender.

¿Fue útil?

Solución

Como enfoque general, puede usar Javascript para cambiar los enlaces de la página del producto para que se abran en una ventana emergente (no está claro si se refiere a una capa AJAX o una ventana emergente "real", que los navegadores de muchos usuarios bloquearán).Luego, modifique los archivos XML de diseño para agregar o eliminar los bloques que necesite.

Si desea tener tanto la página normal como una 'capa' flotante, cree un nuevo controlador y haga que herede del diseño de la vista del catálogo (IIRC, $this->loadLayout('catalog_product_view') Deberías hacerlo).Luego, una vez más, cambie los diseños para su etiqueta de diseño para agregar y eliminar según sea necesario.

Otros consejos

La respuesta de Joseph no me quedó muy clara, pero esto es lo que hice.Creé un nuevo módulo para la ventana emergente con un nuevo controlador que extendía ProductController.Hice una copia de viewAction y le cambié el nombre a popupAction en mi nuevo controlador.

Luego hice una copia del catalog.xml y le cambié el nombre según mi módulo.Luego eliminó todo lo que no pertenece a la página de vista del producto.Hice una copia de la plantilla de vista y la configuré como plantilla en mi diseño xml.Luego hice los cambios necesarios dentro del diseño xml o en la nueva plantilla de vista.

no pude conseguir $this->loadLayout('catalog_product_view') para trabajar para mí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top