magento админ форма изменить - PullRequest
1 голос
/ 26 декабря 2011

я пытаюсь переопределить блок magento enterprise catalogevent, но его та же самая фатальная ошибка приводит: Фатальная ошибка: Вызов функции-члена setData () для необъекта в .. \ www \ app \ code\ core \ Mage \ Adminhtml \ Block \ Widget \ Form \ Container.php в строке 129 моего нового модуля config.xml:

 <global>
        <blocks>
            <ss_todaysevents>
                <class>Ssd_Todaysevents_Block</class>
            </ss_todaysevents>
            <enterprise_catalogevent>
                <rewrite>
                    <adminhtml_event_edit_form>
                        Ss_TodaysEvents_Block_Adminhtml_Event_Edit_Form
                    </adminhtml_event_edit_form>
                </rewrite>
            </enterprise_catalogevent>
        </blocks>        
    </global>

Ss_TodaysEvents_Block_Adminhtml_Event_Edit_Form класс находится в .. \ www \ app \ code \ local \Ss \ TodaysEvents \ Block \ Adminhtml \ Event \ Edit \ Form.php и имеет следующий код:

class Ss_TodaysEvents_Block_Adminhtml_Event_Edit_Form extends Enterprise_CatalogEvent_Block_Adminhtml_Event_Edit_Form
{
    protected function _prepareForm()
    {
        parent::_prepareForm();       
        if (Mage::getConfig()->getModuleConfig('Ss_Brands')->is('active')) {
            $fieldset = $this->getForm()->getElements()->searchById('general_fieldset');
            $fieldset->addField('brand_name', 'select',
                                array(
                                     'label' => Mage::helper('brands')->__('Brand'),
                                     'title' => Mage::helper('brands')->__('Brand'),
                                     'name' => 'brands_id',
                                     'values' => Mage::helper('brands')->getBrandsArrayList(),
                                )
            );

        }
        return $this;
    }


}

Что там за работа?Спасибо

1 Ответ

0 голосов
/ 28 декабря 2011

Если единственной целью вашего модуля является перезапись, вам не нужно настраивать группу классов (global / blocks / ss_todaysevents). Вы непосредственно сопоставляете класс другой группе классов _ имя класса.

Magento не удаляет пробелы в текстовых узлах. В вашем adminhtml_event_edit_form узле у вашего имени класса не должно быть пробелов, то есть ::1004*

<adminhtml_event_edit_form>Ss_TodaysEvents_Block_Adminhtml_Event_Edit_Form</adminhtml_event_edit_form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...