Magento custom admin module is blank

2019-04-29 05:32发布

问题:

I've create a custom admin module but i can't put a content in it, it always is blank i'm trying with a simple code for test, but nothing seem to work

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

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

an in the .phtml

echo 'hello world';

but doesn't print nothing, if a make an error in the phtml, the system crash, it means that its getting the file, but, what i'm i missing please, help

回答1:

The $this->_addContent method on an admin controller expects to be passed a block object.

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

You're passing in

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

which is a string. You're rendering it too soon. If you check your logs you should see a warning/error/something telling you that the argument to _addContent is an unexpected type.

Try it without the toHtml method call

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