Больше не могу добавлять поля регистрации в Magento 1.4.2.0 - PullRequest
3 голосов
/ 28 декабря 2010

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

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

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

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

Ответы [ 4 ]

4 голосов
/ 02 января 2011

Я боролся с этим довольно долго, пока я не понял это. Начиная с 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();

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

2 голосов
/ 06 января 2011

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

Для сохранения новых атрибутов во внешнем интерфейсе (регистрация и редактирование). просто разверните второй массив параметров $ 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:'. (Строка) $ attribute-> getAttributeCode ());

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

0 голосов
/ 02 ноября 2015

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

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

0 голосов
/ 30 декабря 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...