Mar*_* Po 5 magento magento-1.7
我试图在观察者中以现有的管理形式获取fieldset时遇到问题.我正在获取表单但是当我尝试获取fieldset时我得到了很好的错误:致命错误:在非对象上调用成员函数addField()当我直接添加这个新字段时,一切都很好,除了它在外部场地.
$form = $observer->getBlock()->getForm();
$fieldset = $form->getFieldset('fieldset_id');
$fieldset->addField('some_field', 'text', array(
'name' => 'some_field',
'label' => Mage::helper('cms')->__('Some Field'),
'title' => Mage::helper('cms')->__('Some Field')
)
);
Run Code Online (Sandbox Code Playgroud)
Mar*_* Po 17
好的,我做到了.这是我的坏事.我采取了错误的块类型.这是代码:
public function onAdminhtmlBlockHtmlBefore(Varien_Event_Observer $observer)
{
$block = $observer->getBlock();
if (!isset($block)) return;
switch ($block->getType()) {
case 'adminhtml/some_edit_tab_main':
$form = $block->getForm();
$fieldset = $form->getElement('base_fieldset');
$fieldset->addField('some_field', 'text', array(
'name' => 'some_field',
'label' => Mage::helper('cms')->__('Some Field'),
'title' => Mage::helper('cms')->__('Some Field')
)
);
break;
}
}
Run Code Online (Sandbox Code Playgroud)