5

尝试在观察者的现有管理表单中获取字段集时遇到问题。我得到了表单,但是当我尝试获取字段集时,我得到了很好的错误:致命错误:调用非对象上的成员函数 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')
  )
);
4

1 回答 1

18

好的,我做到了。这是我的错。我选择了错误的块类型。这是代码:

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;
    }
}
于 2013-02-20T18:28:06.423 回答