Magento获取phtml文件上使用的布局

Magento获取phtml文件上使用的布局,magento,layout,e-commerce,magento-1.6,Magento,Layout,E Commerce,Magento 1.6,有没有办法得到某个phtml文件使用的布局 在本例中,我想检查catalog/list.phtml上使用的布局,我使用该信息在产品图像网格大小上设置条件“if” 我试着用谷歌搜索出来。但所有的结果都只是解释了xml布局方面的事情。我得到的最接近的线索是这条线 这段代码的用法是什么 $left_block = $this->loadLayout()->getLayout()->getBlock('left'); 但是当我在phtml文件上尝试它时,我得到了一个异常错误 更新

有没有办法得到某个phtml文件使用的布局

在本例中,我想检查catalog/list.phtml上使用的布局,我使用该信息在产品图像网格大小上设置条件“if”

我试着用谷歌搜索出来。但所有的结果都只是解释了xml布局方面的事情。我得到的最接近的线索是这条线

这段代码的用法是什么

$left_block = $this->loadLayout()->getLayout()->getBlock('left');
但是当我在phtml文件上尝试它时,我得到了一个异常错误

更新

乔在下面的回答给了我更多的线索,例外消失了。但这种行为并不是我真正需要的。这段代码似乎只是检查XML上是否定义了指定的块。我真正需要的是该块是否存在于某个页面上

在我的例子中,我需要检查catalog/product/list.phtml上使用的布局。如果是3列,我会把图像的大小缩小。如果它只有一列,我会把它放大

有什么方法可以做到吗???

删除
loadLayout()

当您在PHTML文件中时,布局已经加载


在PHTML文件中,$表示
Mage\u Core\u Block\u模板
类(或扩展它的类)。这个类没有定义loadLayout()方法,这就是为什么会出现异常;相反,loadLayout()是
Mage\u Core\u Controller\u Varien\u操作的一部分

如果我正确阅读了问题,请尝试:

$this->getLayout()->getBlock('root')->getTemplate();

谢谢乔。。。例外消失了。。。但看起来该代码段只检查XML上是否存在指定的块。。。我需要知道的是,该块是否存在于某个页面上。。。不管怎样,我能做到吗?顺便说一句,我会完善我的问题
$this->getLayout()->getBlock('root')->getTemplate();