我的布局是不是在我的Magento管理视图加载(My layout isn't loadin

2019-07-30 21:01发布

这里是我的控制器

<?php
class Desbest_Brands_Adminhtml_BrandController extends Mage_Adminhtml_Controller_action {
    public function indexAction() {
        //echo "showing 123 works!";
        $this->loadLayout(); $this->renderLayout();
    }

这是我的布局

<?xml version="1.0"?>
<layout version="1.0.0">
<brands_adminhtml_brand_index>
    <reference name="content">
        <block type="brands/adminhtml_brand" name="brand" />
        <block type="newsletter/subscribe" name="left.newsletter" template="newsletter/subscribe.phtml"/>
    </reference>
</brands_adminhtml_brand_index>
</layout>

然而,没有加载,当我表现出我的管理视图,甚至没有电子邮件订阅的形式。

Answer 1:

如果你的动作正确调用(回波显示123),比高速缓存的问题等,有可能是有什么地方错了你的手柄。

在你的行动,尝试后,把这个代码$this->loadLayout()

var_dump(Mage::getSingleton('core/layout')->getUpdate()->getHandles());
die();

它会显示加载该请求的所有句柄。

从fullActionName产生的手柄,以简单的方式,我们可以说,它是作为产生:

route + controller + action

看看你的config.xml。

如果您的config.xml这样的:

<admin>
    <routers>
        <brands>
            <use>admin</use>
            <args>
                <module>Desbest_Brands</module>
                <frontName>brands</frontName>
            </args>
        </brands>
    </routers>
</admin>

对于你的行动,就会产生手柄: <brands_adminhtml_brand_index>

如果您的config.xml这样的:

<admin>
    <routers>
        <brandsadmin>
            <use>admin</use>
            <args>
                <module>Desbest_Brands</module>
                <frontName>brands</frontName>
            </args>
        </brandsadmin>
    </routers>
</admin>

对于你的行动,就会产生手柄: <brandsadmin_adminhtml_brand_index>

更新:

而且不要忘了在config.xml中,如定义你的管理布局:

<adminhtml>
    <layout>
        <updates>
            <brandsadmin>
                <file>yourlayoutname.xml</file>
            </brandsadmin>
        </updates>
    </layout>
</adminhtml>

把它放在应用程序/设计/ adminhtml /默认/ [默认/ youradmintheme] /layout/yourlayoutname.xml



文章来源: My layout isn't loading in my Magento admin view
标签: magento