Magento在运行时更改产品模板
是否有一种方法可以根据某些产品属性在运行时更改产品模板?产品具有包含模板路径的自定义属性,不同的产品可能具有不同的模板 您可以通过多种不同的方式来实现 我认为最好的方法是替换产品视图块 1)创建一个新的块扩展图像目录图块产品视图 2)更新布局,以便页面使用该块或覆盖该块。Magento在运行时更改产品模板,magento,magento-1.9,Magento,Magento 1.9,是否有一种方法可以根据某些产品属性在运行时更改产品模板?产品具有包含模板路径的自定义属性,不同的产品可能具有不同的模板 您可以通过多种不同的方式来实现 我认为最好的方法是替换产品视图块 1)创建一个新的块扩展图像目录图块产品视图 2)更新布局,以便页面使用该块或覆盖该块。 protected function _prepareLayout() { $this->setTemplate('product/view/special.phptml'); parent::_prep
protected function _prepareLayout()
{
$this->setTemplate('product/view/special.phptml');
parent::_prepareLayout();
}
- 如果需要保留默认块,可以使用重写,而不必重新添加所有默认块
- 如果仍要删除许多默认块,则可以使用布局对其进行更改:
当然,您也可以在控制器中执行此操作,但这需要您执行一些复制/粘贴操作,这对于维护来说并不理想<remove name="product.info"/> <block type="ricard_catalog/product_view" name="ricard.product.info" as="product.info"/> <!-- I haven't set a template as the block have the logic to do so -->