magento добавить настраиваемое поле ввода в форму учетной записи клиента в админ - PullRequest
4 голосов
/ 03 марта 2011

Я пытаюсь добавить настраиваемое поле ввода на вкладку информации учетной записи клиента в админке. я успешно смог создать пользовательский атрибут в таблице eav для своего ввода, но не смог найти, как заставить мой ввод отображаться. Любопытно, у кого есть хорошие ресурсы о том, как это сделать?

Ответы [ 3 ]

2 голосов
/ 10 января 2013

Приведенная выше ссылка больше не работает. Я нашел лучшее объяснение на http://www.excellencemagentoblog.com/customer-registration-fields-magento1-6. Если вы просто сделаете первые шаги, у вас будут только добавленные поля в админке.

1 голос
/ 05 февраля 2015

Вы должны указать атрибуту, в каких формах он используется:

Mage::getModel('customer/attribute')
    ->loadByCode('customer', 'your_attrib_code')
    ->setUsedInForms(array('adminhtml_customer'))
    ->save();

Это может быть помещено в стандартный скрипт обновления Magento для удобства (обычно это тот же скрипт, который изначально создал атрибут, или тот, что сразу после него).

1 голос
/ 05 марта 2011

Самый быстрый способ - создать php-файл и получить к нему доступ через браузер, добавив в файл следующее содержимое.

define('MAGENTO', realpath(dirname(__FILE__)));
ini_set('memory_limit', '32M');
set_time_limit (0);
require_once MAGENTO . '/../app/Mage.php';
Mage::app();

$newFields = array(
    'custom_attribute' => array(
        'type'              => 'text',
        'label'                => 'Customer Custom Attribute'
    )
);

$entities = array('customer');

$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
foreach($newFields as $attributeName => $attributeDefs) {
    foreach ($entities as $entity) {
        $setup->addAttribute($entity, $attributeName, array(
            'position'          => 1,
            'type'              => $attributeDefs['type'],
            'label'             => $attributeDefs['label'],
            'global'            => 1,
            'visible'           => 1,
            'required'          => 0,
            'user_defined'      => 1,
            'searchable'        => 0,
            'filterable'        => 0,
            'comparable'        => 0,
            'visible_on_front'  => 1,
            'visible_in_advanced_search' => 0,
            'unique'            => 0,
            'is_configurable'   => 0,
            'position'          => 1,
        ));                
    }
}
...