Это сообщение об ошибке:
Неустранимая ошибка: вызов функции-члена initForm () для необъекта в C: \ wamp \ www \ magento \ app \ code \ core \ Mage \ Adminhtml \ Block \ Customer \ Edit \ Tabs.php в строке 58
Я копирую этот файл:
C: \ WAMP \ WWW \ Magento \ приложение \ код \ ядро \ Mage \ Adminhtml \ Block \ Customer \ Edit \ Accounts.php
чтобы:
C: \ WAMP \ WWW \ Magento \ приложение \ код \ Local \ my_project \ Adminhtml \ Block \ Клиент \ Edit \ Tab \ Accounts.php
, затем редактируйте только эту функцию:
<?php
class My_Project_Adminhtml_Block_Customer_Edit_Tab_Account extends Mage_Adminhtml_Block_Customer_Edit_Tab_Account
{
public function initForm()
{
Mage::log('Debug1: _initForm was called',null,'globe.log');
$form = new Varien_Data_Form();
$form->setHtmlIdPrefix('_account');
$form->setFieldNameSuffix('account');
$customer = Mage::registry('current_customer');
/* @var $customerForm Mage_Customer_Model_Form */
$customerForm = Mage::getModel('customer/form');
$customerForm->setEntity($customer)
->setFormCode('adminhtml_customer')
->initDefaultValues();
$fieldset = $form->addFieldset('base_fieldset',
array('legend'=>Mage::helper('customer')->__('Account Information'))
);
$attributes = $customerForm->getAttributes();
//Start of edit//
//Remove the Un-needed labels from the Customer Information Form
//These are the codes that I added:
unset($attributes['prefix']);
unset($attributes['firstname']);
unset($attributes['middlename']);
unset($attributes['lastname']);
unset($attributes['suffix']);
unset($attributes['taxvat']);
unset($attributes['dob']);
unset($attributes['gender']);
//End of edit//
foreach ($attributes as $attribute) {
$attribute->unsIsVisible();
}
$this->_setFieldset($attributes, $fieldset);
/**Usual codes continues here**/
это коды в строке 56-60 файла Tabs.php
$this->addTab('account', array(
'label' => Mage::helper('customer')->__('Account Information'),
'content' => $this->getLayout()->createBlock('adminhtml/customer_edit_tab_account')->initForm()->toHtml(),
'active' => Mage::registry('current_customer')->getId() ? false : true
));
Здесь я хочу удалить имена, почтовые индексы, страну, пол и т. Д. Из формы информации об учетной записи, останется только электронная почта.
Если я делаю все это в файлах Core, все прошло хорошо, но если я пытаюсь переопределить это и сохранить его в локальной папке, эта ошибка возникает.
P.S. Я также добавляю config.xml в свой локальный каталог и добавляю xml в C: \ wamp \ www \ magento \ app \ etc \ modules с именем My_Project_Adminhtml.xml
Заранее спасибо всем, кто поможет.
это мой файл config.xml, сохраненный на C: \ wamp \ www \ magento \ app \ code \ local \ My_Project \ Adminhtml \ etc
<?xml version="1.0" ?>
<config>
<modules>
<My_Project_Adminhtml>
<version>1.0</version>
</My_Project_Adminhtml>
</modules>
<global>
<blocks>
<adminhtml>
<rewrite>
<customer_edit_tab_account>
My_Project_Adminhtml_Block_Customer_Edit_Tab_Account
</customer_edit_tab_account>
</rewrite>
</adminhtml>
</blocks>
</global>
</config>
это мой модуль xml save в ... / app / etc / modules folder
<?xml version="1.0" ?>
<config>
<modules>
<My_Project_Adminhtml>
<active>true</active>
<codePool>local</codePool>
</My_Project_Adminhtml>
</modules>
</config>