如何在Magento 2的CMS页面中展示Grouped product(分组产品)
这个需求完全可以实现,无需依赖第三方扩展也能快速完成,操作步骤如下:
- 首先自定义专属Block类,不要直接用默认的
Magento\Framework\View\Element\Template
你需要创建一个继承原生Template类的自定义Block,实现按传入的product_id参数加载分组产品实例、获取关联子产品列表的逻辑,同时预留方法供模板调用验证产品是否可用、获取加购表单参数。 - 其次创建前端渲染模板
groupedproduct.phtml
在你当前使用的主题的Magento_Theme/templates目录下新建该模板,在模板内调用上方Block的方法获取产品数据,渲染对应的展示内容:遍历所有关联子产品,每行展示产品名称、单价、数量输入框,外层包裹符合Magento加购规则的表单,内置form_key、产品参数,提交后即可直接触发加购逻辑。 - 最后添加安全权限配置
Magento的CMS块指令有安全校验机制,你需要进入后台「内容 > 设计 > 配置」,编辑对应站点的设置,将你自定义的Block类添加到「允许的块类」列表中,否则插入的指令会被拦截不会渲染。
配置完成后你就可以用你期望的格式,在任意CMS页面、静态块中插入对应分组产品的视图,只要修改product_id参数就可以在同一个页面插入多个不同的分组产品。
如果不想自行开发,也有成熟的Magento扩展支持该功能,内置可视化配置界面,无需写代码即可在CMS内容中插入各类产品的加购区块。
内容的提问来源于stack exchange,提问作者Darren
相关产品推荐
相关产品推荐

