我目前正在尝试简单地将一个块添加到自定义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();
我可以看到在Mage Core中这样做的一般方法就像是
/**
* Append customers block to content
*/
$this->_addContent(
$this->getLayout()->createBlock('adminhtml/customer', 'customer')
);
因为我已经创建了块$ main_block,所以对我来说没有意义 - > gt; createBlock,所以我不知道该怎么做。
任何协助都像往常一样受到赞赏。谢谢!
答案 0 :(得分:5)
我找到了解决这个问题的答案。
当然它会来自艾伦风暴。谢谢艾伦。线程被找到here!
所以要解决这个问题,我所做的就是:
在app / design / adminhtml / mythemename / info.phtml中创建一个文件夹
然后在我的控制器动作中我只是做了:
$this->loadLayout();
$this->_setTitle();
$this->_addContent($this->getLayout()->createBlock('adminhtml/template')->setTemplate('shipment/info.phtml'));
$this->renderLayout();
并且效果很好。
答案 1 :(得分:0)
如果是通过CMS创建的静态块
,请使用此选项/**
* Append customers block to content
*/
$this->_addContent(
$this->getLayout()
->createBlock('cms/block')
->setBlockId('{block_name}')
->toHtml()
);