我需要检查目前在magento中加载了哪种类型的布局/页面。
我的意思是1列或2列左或2列右或3列。
我需要以编程方式找到...
我该怎么做,我用Google搜索但没有帮助。
答案 0 :(得分:7)
你想做什么?与渲染上下文的程序化耦合可能表明可以使用更好的方法。那说:
如果已经实例化了根块,您可以询问布局对象,如果是,那么它的模板属性是什么:
$root = Mage::app()->getLayout()->getBlock('root');
if ($root) {
$rootTpl = $root->getTemplate(); // For core/design_package calculated
// absolute path use getTemplateFile();
switch ($rootTpl) {
case 'page/1column.phtml':
//stuff to do
break;
//etc.
}
}
答案 1 :(得分:0)
检查/ app / design / frontend / default /中的XML文件 - 您的主题 - / layout文件夹。它们包含对所用模板文件的引用。
E.g。 page.xml包含:
<block type="page/html" name="root" output="toHtml" template="page/2columns-left.phtml">
...定义了大多数页面使用的模板。
祝你好运!答案 2 :(得分:0)
您可以检查div.page的第一个子项,以了解当前模板中的列数。
html body div.wrapper div.page div.main-container.col1-layout