Pregunta

Tengo la pregunta que estoy publicando es tonta y la hice muchas veces en este foro, pero ninguna de las respuestas publicadas por otros resolvió mi problema.

Mi pregunta es que tengo un conjunto de campos de archivos y necesito cargar imágenes con varias, así que las usé.

 $fieldset->addField('optionimage', 'file', array(
        'label'     => $helper->__('Option Image'),
        'required'  => false,
        'name'      => 'optionimage[]',
        'multiple'=>true,
        'multiple'=>'multiple'
  ));

pero no pude agregar varios campos anteriores

¿Fue útil?

Solución

Por defecto no puedes hacer esto.
expliqué aquí ¿Por qué no es posible sacarlo de la caja y cómo puede hacerlo funcionar?
La explicación es para entradas de imágenes pero funciona igual para campos de imágenes.
La idea es que "múltiple" no sea un atributo permitido para las entradas de archivos.
Necesitas crear tu renderizador de entrada ganado que se extienda Varien_Data_Form_Element_File (o Image si lo necesita para imágenes) y haga que lo permita multiple como atributo.

para que tu renderizador pueda verse así

<?php 
class [Namespace]_[Module]_Block_Adminhtml_[Entity]_Helper_Image extends Varien_Data_Form_Element_Image //or _File if you are not uploading images
{
    //make your renderer allow "multiple" attribute
    public function getHtmlAttributes(){
        return array_merge(parent::getHtmlAttributes(), array('multiple'));
    }
}

En su formulario de edición agregue esto:

$fieldset->addType('image', '[Namespace]_[Module]_Block_Adminhtml_[Entity]_Helper_Image');

o si no quieres subir solo imágenes

$fieldset->addType('file', '[Namespace]_[Module]_Block_Adminhtml_[Entity]_Helper_File');

y luego agregue su campo así:

$fieldset->addField(
    'id_here', 
    'image',  //or file
    array( 
            'name'      => 'image[]', //declare this as array. Otherwise only one image will be uploaded
            'multiple'  => 'multiple', //declare input as 'multiple'
            'label'     => Mage::helper('helper_alias')->__('Image'),
            'title'     => Mage::helper('helper_alias')->__('Image'),
            'required'  => true,
        )
 );
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top