2013-07-10 4 views
2

Я хочу создать пользовательский модуль, который может загружать несколько изображений, таких как product.I создал один настраиваемый модуль, но он загружает только одно изображение.настраиваемый модуль magento, который загружает несколько изображений

form.php

$fieldset->addField('filename', 'image', array(
    'label'  => Mage::helper('footertop')->__('File'), 
    'name'  => 'filename', 

)); 
+0

Что именно ваш вопрос? – Thomas

+0

Я хочу создать пользовательский модуль, который может загрузить нет. изображений, таких как продукт. – Sayali

ответ

2

Я думаю, вам нужно создать свой пользовательский визуализатор для поля изображения. Для этого создать этот класс в вашем модуле:

class [YOURNamespace]_[YOURModule]_Block_Adminhtml_[YOUREntity]_Helper_Image extends Varien_Data_Form_Element_Image{ 
//make your renderer allow "multiple" attribute 
public function getHtmlAttributes(){ 
     return array_merge(parent::getHtmlAttributes(), array('multiple')); 
    } 
} 

Теперь в верхней части _prepareForm (где вы добавить свои поля) добавьте эту строку перед добавлением поля:

$fieldset->addType('image', '[YOURNamespace]_[YOURModule]_Block_Adminhtml_[YOUREntity]_Helper_Image'); 

Или, если вы хотите быть «политически правильным» добавить это следующим образом:

$fieldset->addType('image', Mage::getConfig()->getBlockClassName('[YOURmodule]/adminhtml_[YOURentity]_helper_image')); 

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

Теперь вы можете добавить поле как подобно тому, как вы это сделали:

$fieldset->addField('image', 'image', array(
     'name'  => 'image[]', //declare this as array. Otherwise only one image will be uploaded 
     'multiple' => 'multiple', //declare input as 'multiple' 
     'label'  => Mage::helper('YOURmodule')->__('Select Image'), 
     'title'  => Mage::helper('YOURmodule')->__('Can select multiple images'), 
     'required' => true, 
     'disabled' => $isElementDisabled 
    )); 

Вот и все. Не забудьте заменить заполнители ([YOURModule] и другие) вашими значениями.

Смежные вопросы