0

我目前正在尝试简单地向自定义 Adminhtml 模块添加一个块。我能够显示块的内容,但它在页面顶部呈现灰色背景,然后带有设计和菜单的标准 magento 布局直接呈现在其下方。

我试图以正确的方式做事以学习最佳实践,并且正在关注书籍和教程以及 magento 核心,但到目前为止一直无法正确添加内容。

到目前为止,我有:

public function indexAction()
{
    $this->loadLayout();
    $this->_setTitle();
    $main_block = new Invent_General_Block_Info();
    echo $main_block->toHtml();
    //$this->_addContent($main_block);
    $this->renderLayout();

我可以看到在法师核心中这样做的一般方法是

/**
  * Append customers block to content
  */
    $this->_addContent(
        $this->getLayout()->createBlock('adminhtml/customer', 'customer')
    );

因为我已经创建了块 $main_block 对我来说 ->createBlock 没有意义,所以我不知道从这里做什么。

像往常一样感谢任何帮助。谢谢!

4

2 回答 2

5

我找到了解决这个问题的答案。

当然,它来自 Alan Storm。谢谢艾伦。线程在这里找到!

所以为了解决这个问题,我所做的就是:

在 app/design/adminhtml/mythemename/info.phtml 中创建一个文件夹

然后在我的控制器操作中我只是做了:

$this->loadLayout();
    $this->_setTitle();
 $this->_addContent($this->getLayout()->createBlock('adminhtml/template')->setTemplate('shipment/info.phtml'));
    $this->renderLayout();

而且效果很好。

于 2012-05-03T11:39:04.913 回答
0

如果它是您通过 CMS 创建的静态块,请使用它

/**
  * Append customers block to content
  */

$this->_addContent(
  $this->getLayout()
    ->createBlock('cms/block')
    ->setBlockId('{block_name}')
    ->toHtml() 
);
于 2012-05-01T18:28:35.337 回答