Magento自定义管理模块为空白

时间:2010-08-18 15:44:04

标签: php oop magento argument-passing

我已经创建了一个自定义管理模块,但我无法在其中添加内容,它始终为空白 我正在尝试使用简单的测试代码,但似乎没有任何工作

public function indexAction()
{
    $this->loadLayout();

    $this->_addContent($this->getLayout()->createBlock('adminhtml/template')->setTemplate('uhmaadmin/contactos.list.phtml')->toHtml());
    $this->renderLayout();
}

a .phtml

echo 'hello world';

但不打印任何内容,如果在phtml中出错,系统崩溃,则意味着它获取文件,但是,我错过了什么 请帮忙

1 个答案:

答案 0 :(得分:10)

管理控制器上的$this->_addContent方法希望传递一个块对象。

protected function _addContent(Mage_Core_Block_Abstract $block)
{
    $this->getLayout()->getBlock('content')->append($block);
    return $this;
}

你正在传递

$this->getLayout()->createBlock('adminhtml/template')->setTemplate('uhmaadmin/contactos.list.phtml')->toHtml()

这是一个字符串。你现在渲染太快了。如果你检查你的日志,你会看到一个警告/错误/告诉你_addContent的参数是一个意外的类型。

尝试不使用toHtml方法调用

$this->_addContent($this->getLayout()->createBlock('adminhtml/template')->setTemplate('uhmaadmin/contactos.list.phtml'));