Я пытаюсь добавить настраиваемое поле ввода на вкладку информации об учетной записи клиента в admin. я успешно смог создать пользовательский атрибут в таблице eav для ввода, но не смог найти способ ввода моего ввода. Любопытно, у кого есть какие-то хорошие ресурсы о том, как это сделать?
Вышеупомянутая ссылка больше не работает. Я нашел лучшее объяснение по адресу http://www.excellencemagentoblog.com/customer-registration-fields-magento1-6 . Если вы просто сделаете первые шаги, у вас будут только добавленные поля в админе.
Вы должны указать атрибут, который он использует:
Mage::getModel('customer/attribute') ->loadByCode('customer', 'your_attrib_code') ->setUsedInForms(array('adminhtml_customer')) ->save();
Это можно поместить в стандартный сценарий обновления Magento для удобства (обычно тот же скрипт, который первоначально создал атрибут, или тот, который сразу после него).
Самый быстрый способ – создать файл 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, )); } }