В файле установщика модуля создайте такой атрибут, и он появится в бэкенде клиента.
Дополнительная часть необходима для более новой версии Magento (не уверен, когда именно, но это верно для Magento Community Edition 1.6 и выше).
Ключ "used_in_forms" не может быть в массиве, переданном в вызов addAttribute напрямую (не будет работать). Вероятно, он содержит имена форм, из которых модель клиента будет принимать значения, а не игнорировать их при сохранении.
Известные значения находятся в ответах на этот вопрос: Больше нельзя добавлять регистрационные поля в Magento 1.4.2.0 (ответ Фолкера Шелленберга)
Я думаю, что это имя контроллера и действия, которое отобразило форму. Это имя также является основным именем дескриптора макета страницы (например, customer_account_edit).
Следует отметить, что форма клиента во внешнем интерфейсе основана на HTML. Он не обрабатывает входные данные из атрибутов динамически, как бэкэнд-формы. Это означает, что если эти атрибуты должны быть введены пользователем, шаблон необходимо изменить, чтобы он также содержал правильные входные теги (и правильное значение, добавленное в массив used_in_forms).
$attributeCode = "uploaded_file";
$attributeLabel = "Uploaded file";
$installer->addAttribute('customer', $attributeCode, array(
'type' => 'text',
'input' => 'file',
'label' => $attributeLabel,
'global' => true,
'visible' => true,
'required' => false,
'user_defined' => false
));
// For newer versions of Magento, otherwise won't show up.
$eavConfig = Mage::getSingleton('eav/config');
$attribute = $eavConfig->getAttribute('customer', $attributeCode);
$attribute->setData('used_in_forms', array('customer_account_create', 'adminhtml_customer'));
$attribute->setData('sort_order', 200);
$attribute->save();
Другим возможным типом является «изображение», которое отображается точно так же, как «файл», за исключением того, что оно показывает изображение в окне предварительного просмотра (маленьком). Может быть, хорошо для фото клиента?
Кроме того, следует отметить, что это специфично для формы клиента (класс, который обрабатывает этот тип атрибута: Mage_Adminhtml_Block_Customer_Form_Element_File и Mage_Adminhtml_Block_Customer_Form_Element_Image), поэтому это не будет работать в атрибуте продукта без специальной работы.
Надеюсь это поможет !
person
Raif Atef
schedule
17.05.2012