【问题标题】:magento product popupmagento 产品弹出窗口
【发布时间】:2011-03-13 13:55:19
【问题描述】:

我想为产品创建一个弹出窗口,而不是指向另一个页面。我正在寻找有关基本上制作产品视图模板副本以根据我的需要进行修改而无需创建单独的模型和块的最佳方法的建议。我正在使用版本 1.3.2.2。如果有任何需要澄清的地方,请告诉我。

我知道有些模块可以做到这一点,但我想自己做。部分是为了学习。

【问题讨论】:

    标签: php magento modal-window


    【解决方案1】:

    作为一般方法,您可以使用 Javascript 更改产品页面链接以在弹出窗口中打开(不清楚您是指 AJAX 层还是“真实”弹出窗口,许多用户的浏览器会阻止)。然后,修改布局 XML 文件以添加或删除您需要的任何块。

    如果您想要同时拥有普通页面和悬停的“层”,则创建一个新控制器并让它从目录视图布局继承(IIRC,$this->loadLayout('catalog_product_view') 应该这样做)。然后,再次更改 your 布局标签的布局,以根据需要添加和删除。

    【讨论】:

    • 我可以处理实际弹出窗口的制作。我想知道如何创建一个单独的产品视图布局,这样我就可以像你说的那样拥有一个普通的页面和悬停层。我不确定更改布局标签的布局是什么意思。我是否必须使用新控制器、布局 xml、模板创建新模块?我想我遇到的问题是我以前做过一个模块,但是布局和模板都是从头开始的。所以我不清楚如何根据已经存在的来做到这一点。
    【解决方案2】:

    约瑟夫的回答对我来说不是很清楚,但这就是我所做的。我使用扩展 ProductController 的新控制器为弹出窗口创建了一个新模块。我制作了 viewAction 的副本,并在我的新控制器中将其重命名为 popupAction。

    然后我复制了catalog.xml并根据我的模块重命名它。然后删除与产品视图页面无关的所有内容。我制作了视图模板的副本并将其设置为我的 xml 布局中的模板。然后我在 xml 布局或新视图模板中进行了必要的更改。

    我无法让 $this->loadLayout('catalog_product_view') 为我工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-20
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      相关资源
      最近更新 更多