这里是我的控制器
<?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>
然而,没有加载,当我表现出我的管理视图,甚至没有电子邮件订阅的形式。
如果你的动作正确调用(回波显示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