在magento中如何找到布局类型?

时间:2012-03-15 14:23:11

标签: magento layout

我需要检查目前在magento中加载了哪种类型的布局/页面。

我的意思是1列或2列左或2列右或3列。

我需要以编程方式找到...

我该怎么做,我用Google搜索但没有帮助。

3 个答案:

答案 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