【问题标题】:Magento custom admin module is blankMagento 自定义管理模块为空
【发布时间】:2010-08-18 15:44:03
【问题描述】:

我创建了一个自定义管理模块,但我无法在其中放入内容,它总是空白 我正在尝试使用简单的代码进行测试,但似乎没有任何效果

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

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

.phtml 中的一个

echo 'hello world';

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

【问题讨论】:

    标签: php oop magento argument-passing


    【解决方案1】:

    管理控制器上的$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'));
    

    【讨论】:

    • 谢谢,它有效,你拯救了我的一天,我不能投票因为我可以注册但我不知道为什么,我总是在最后一步出错,我会给你一个 10 ...再次感谢,但现在我在非对象错误上调用成员函数 setTemplate(),因为我正在调用 createBlock('uhmaadmin/template'),我的模板看起来像此类 Uhma_UhmaAdmin_Block_Template 扩展Mage_Core_Block_Template { } 我的代码有问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 2012-01-05
    • 2013-10-06
    • 2015-10-03
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    相关资源
    最近更新 更多