这是我的控制器
<?php
class Desbest_Brands_Adminhtml_BrandController extends Mage_Adminhtml_Controller_action {
public function indexAction() {
//echo "showing 123 works!";
$this->loadLayout(); $this->renderLayout();
}
Run Code Online (Sandbox Code Playgroud)
这是我的布局
<?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>
Run Code Online (Sandbox Code Playgroud)
然而,当我在我的管理员中显示视图时,没有任何东西加载,甚至不是电子邮件订阅表单.
iva*_*dja 14
如果您的操作被正确调用(显示回显123),除缓存问题外,您的句柄可能有问题.
在您的操作中,尝试将此代码放在$this->loadLayout()
:
var_dump(Mage::getSingleton('core/layout')->getUpdate()->getHandles());
die();
Run Code Online (Sandbox Code Playgroud)
它将显示为该请求加载的所有句柄.
句柄是从fullActionName生成的,简单来说,我们可以说它生成为:
route + controller + action
Run Code Online (Sandbox Code Playgroud)
看看你的config.xml.
如果你的config.xml像:
<admin>
<routers>
<brands>
<use>admin</use>
<args>
<module>Desbest_Brands</module>
<frontName>brands</frontName>
</args>
</brands>
</routers>
</admin>
Run Code Online (Sandbox Code Playgroud)
对于您的操作,它将生成句柄: <brands_adminhtml_brand_index>
如果你的config.xml像:
<admin>
<routers>
<brandsadmin>
<use>admin</use>
<args>
<module>Desbest_Brands</module>
<frontName>brands</frontName>
</args>
</brandsadmin>
</routers>
</admin>
Run Code Online (Sandbox Code Playgroud)
对于您的操作,它将生成句柄: <brandsadmin_adminhtml_brand_index>
更新:
并且不要忘记在config.xml中定义管理布局,例如:
<adminhtml>
<layout>
<updates>
<brandsadmin>
<file>yourlayoutname.xml</file>
</brandsadmin>
</updates>
</layout>
</adminhtml>
Run Code Online (Sandbox Code Playgroud)
把它放在app/design/adminhtml/default/[default/youradmintheme] /layout/yourlayoutname.xml下
归档时间: |
|
查看次数: |
7952 次 |
最近记录: |