Magento - 如何在观察者中为块设置不同的phtml?

时间:2014-02-04 09:15:10

标签: php magento

以下是我要做的事情: 我需要在后端(管理面板)的类别编辑页面上添加一个选项卡。

我以这种方式从Observer文件中添加它:

$tabs = $observer->getEvent()->getTabs();
$tabs->addTab('features', array(
              'label'     => Mage::helper('catalog')->__('Related Pages'),
              'content'   => '',
));

问题在于我不知道如何正确填充'content'属性,因此我想要获取“Content”块并手动为其分配不同的phtml文件。

可以吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

试试这个。

$tabs->addTab('features', array(
              'label'     => Mage::helper('catalog')->__('Related Pages'),
              'content'   => Mage::app()->getLayout()->createBlock('[module]/[block]')->setTemplate('path/to/template.phtml')->toHtml(),
));

因此,您需要创建自己的块,该块将由path/to/template.phtml模板呈现 如果模板中不需要任何逻辑,则可以跳过块的创建并使用adminhtml/template。这样的事情。

$tabs->addTab('features', array(
              'label'     => Mage::helper('catalog')->__('Related Pages'),
              'content'   => Mage::app()->getLayout()->createBlock('adminhtml/template')->setTemplate('path/to/template.phtml')->toHtml(),
));