我想为产品创建一个弹出窗口,而不是指向另一个页面。我正在寻找有关最佳方法的建议,基本上可以复制产品视图模板以根据我的需要进行修改,而无需创建单独的模型和块。我使用的是1.3.2.2版。如果有任何需要澄清,请告诉我。
我意识到有模块可以做到这一点,但我想自己做。部分是为了学习。
答案 0 :(得分:1)
作为一种通用方法,您可以使用Javascript将产品页面链接更改为在弹出窗口中打开(如果您的意思是AJAX层或“真实”弹出窗口,很多用户的浏览器将会阻止)。然后,修改布局XML文件以添加或删除所需的任何块。
如果你想同时拥有普通页面和悬停的'层',那么创建一个新的控制器并让它继承目录视图布局(IIRC,$this->loadLayout('catalog_product_view')
应该这样做)。然后,再次更改 布局标记的布局,以便根据需要添加和删除。
答案 1 :(得分:0)
约瑟夫的答案对我来说并不十分清楚,但这就是我所做的。我使用一个扩展ProductController的新控制器为弹出窗口创建了一个新模块。我制作了viewAction的副本,并在我的新控制器中将其重命名为popupAction。
然后我制作了catalog.xml的副本,并根据我的模块重命名了它。然后删除与产品视图页面无关的所有内容。我制作了视图模板的副本,并将其设置为我的xml布局中的模板。然后我在xml布局或新视图模板中进行了必要的更改。
我无法让$this->loadLayout('catalog_product_view')
为我工作。