我需要检查当前在magento中加载了哪种类型的布局/页面。在magento中如何查找布局类型?
我的意思是1列或2列左或2列右或3列。
我需要找到编程...
我该怎么办,我用Google搜索,但没有帮助那里。
我需要检查当前在magento中加载了哪种类型的布局/页面。在magento中如何查找布局类型?
我的意思是1列或2列左或2列右或3列。
我需要找到编程...
我该怎么办,我用Google搜索,但没有帮助那里。
你想做什么?与渲染上下文的编程耦合可能表明有更好的方法可用。这就是说:
你可以问布局对象,如果一个根块已被实例化,如果是这样,它的模板属性是什么:
$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.
}
}
检查/ app/design/frontend/default /中的XML文件 - 您的主题 -/layout文件夹。它们包含对使用的模板文件的引用。
E.g. page.xml包含:
<block type="page/html" name="root" output="toHtml" template="page/2columns-left.phtml">
...定义的用于大部分的网页模板。
祝你好运!
对不起,我需要找到编程。 – 2012-03-15 15:00:32
您可以检查div.page的第一个子项以了解当前模板中有多少列。
html body div.wrapper div.page div.main-container.col1-layout
我曾经有过同样的问题,并且'Mage :: app() - > getLayout() - > getBlock('root') - > getTemplate()'也为我做了诡计! – seanbreeden 2012-03-15 17:52:58
谢谢Ben ...我给你很多答案... – 2012-03-16 07:25:36