【发布时间】:2014-02-21 20:46:59
【问题描述】:
我正在尝试创建一个扩展程序以在管理区域中显示自定义网格。我的控制器正在工作,我可以从 indexAction 打印一个“Hello World”,但是我无法让它使用我定义的布局。它显示一个空白的内容区域并且没有错误。如果我使布局文件 XML 结构无效,则没有错误。这告诉我 indexAction 中的布局规范被忽略了。我尝试了很多方法来引用它,但不起作用。所有必要的文件都已到位。看来我的问题出在布局的路径上(用代码中的注释表示://Problem HERE!)。如果我使用 'adminhtml/sales_invoice' 它可以工作,所以这是我的路径的问题。有人知道我如何准确地引用下面给出的结构的布局吗?
mycompany
-myextension
--Block
---adminhtml
----Container
-----Grid.php
----Container.php
--controllers
---adminhtml
----IndexController.php
--etc
这是我的索引控制器:
<?php
class Surpassweb_AdvancedSalesReport_Adminhtml_IndexController extends Mage_Adminhtml_Controller_Action {
public function indexAction(){
$this->loadLayout();
//The problem is HERE!
$this->_addContent($this->getLayout()->createBlock('dont know/what_goes_here'))
->renderLayout();
}
}
这是我的config.xml(与布局相关的部分)
<adminhtml>
<layout>
<updates>
<myextension>
<file>mycompany/advancedsalesreport.xml</file>
</myextension>
</updates>
</layout>
</adminhtml>
【问题讨论】:
标签: magento layout module controller admin