提前致谢,
我想动态更改产品详情页面布局..
问题是如果在list.phtml中,如果我点击网格链接,list.phtml文件的布局应该是2columns-right.phtml,如果我点击列表链接,布局应该是2columns-left.phtml
我使用了以下代码,但没有运气..
if($this->getMode() == 'grid' && $this->getLayout()->getBlock('root')->getTemplate() != 'page/2columns-left.phtml'):
$this->getLayout()->getBlock('root')->setTemplate('page/2columns-right.phtml');
elseif($this->getMode() == 'list' && $this->getLayout()->getBlock('root')->getTemplate() != 'page/2columns-right.phtml'):
$this->getLayout()->getBlock('root')->setTemplate('page/2columns-left.phtml');
endif;
var_dump($pageLayout=$this->getLayout()->getBlock('root')->getTemplate());
之前是否有人这样做过..
答案 0 :(得分:0)
我认为你把这段代码放在已经加载了根块的地方。
一种可能性是使用css,将列表放在3列模式中并隐藏不需要的列+使用css更改主列的宽度,具体取决于“$ this-> getMode()”。
另一种方法是创建控制器以生成列表和网格的整个正文页面,并在更改模式时使用AJAX填充页面。