Больше не может добавлять поля регистрации в Magento 1.4.2.0

Ранее я использовал этот учебник для добавления полей регистрации на страницу регистрации Magento .

Он всегда работал, но поскольку я обновился до Magento 1.4.2.0, он больше не работает. Атрибуты, которые я добавляю, больше не отображаются на вкладке информации о клиентах в бэкэнд, как раньше, и не сохраняются. Однако атрибуты устанавливаются в базу данных. Я подумал, что, возможно, часть config.xml была изменена, но я проверил ее против основного клиента, а атрибуты – порога, показанного таким же образом:

<flavour><create>1</create><update>1</update></flavour> 

Что-то должно было измениться с момента последней версии 1.4.2, потому что в то время работала нормально. Если у кого-то есть какие-то идеи, это было бы очень полезно, и я мог бы наконец поспать! Заранее спасибо!

Related of "Больше не может добавлять поля регистрации в Magento 1.4.2.0"

Я очень долго боролся с этим, пока не понял. Начиная с 1.4.2, атрибуты, отображаемые в форме клиента администратора, должны быть в таблице customer_form_attribute.
Вы можете добавить их с обновлением в настройках вашего модуля с помощью этого кода:

 $eavConfig = Mage::getSingleton('eav/config'); $attribute = $eavConfig->getAttribute('customer', 'your_attributes_code'); $attribute->setData('used_in_forms', array('adminhtml_customer')); $attribute->save(); 

Надеюсь, это поможет.

Очень полезные намеки выше, спасибо Дэвиду!

Чтобы новые атрибуты были сохранены в frontend (зарегистрировать и редактировать), просто разверните второй массив параметров $ attribute-> setData следующим образом:

 $eavConfig = Mage::getSingleton('eav/config'); $attribute = $eavConfig->getAttribute('customer', 'flavour'); $attribute->setData('used_in_forms', array('customer_account_edit', 'customer_account_create', 'adminhtml_customer')); $attribute->save(); 

После этого вы найдете 3 новые записи в таблице customer_form_attribute вместо одной.

Если вы хотите проверить это до и после этого изменения, просто вставьте

Mage :: log ('attrib:'. (String) $ attribute-> getAttributeCode ());

после строки 371 в app / code / core / Mage / Customer / Model / Form.php, и вы увидите все используемые атрибуты в системном журнале мага. (действителен для мага 1.4.2.0)

FYI, они удалили «специальный код» в издании сообщества, который показывает все пользовательские атрибуты. Я использую предприятие, и мы рассматривали выпуск сообществ из-за экономии. Это одно из препятствий, которое нам предстоит преодолеть.

Не отвечает на вопрос, но объясняет, почему они удалили его из бесплатной версии. Код для их отображения полностью отсутствует в теме.