在list.phtml中动态设置产品列表页面布局

时间:2012-11-28 10:37:12

标签: magento magento-1.7

提前致谢,

我想动态更改产品详情页面布局..

问题是如果在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());

之前是否有人这样做过..

1 个答案:

答案 0 :(得分:0)

我认为你把这段代码放在已经加载了根块的地方。

一种可能性是使用css,将列表放在3列模式中并隐藏不需要的列+使用css更改主列的宽度,具体取决于“$ this-> getMode()”。

另一种方法是创建控制器以生成列表和网格的整个正文页面,并在更改模式时使用AJAX填充页面。