Question

J'ai la question que je publie est sily et a demandé à plusieurs reprises sur ce forum, mais pas de wer la réponse affiché par d'autres, a été résolu mon problème.

ma question est que j'ai fieldset de fichier et besoin de télécharger des images avec plusieurs si j'avais utilisé

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

mais je suis n'a pas pu ajouter plusieurs le champ ci-dessus

Était-ce utile?

La solution

Par défaut, vous ne pouvez pas faire cela.
Je l'ai expliqué ici pourquoi n'est pas possible de sortir de la boîte et comment vous pouvez le faire fonctionner.
L'explication est pour l'image des entrées, mais il fonctionne de la même pour les champs d'image.
L'idée est que "plusieurs" n'est pas un attribut de fichier intrants.
Vous devez créer votre remporté entrée moteur de rendu qui s'étend Varien_Data_Form_Element_File (ou Image si vous en avez besoin pour les images) et permettre multiple comme attribut.

si votre convertisseur peut ressembler à ceci

<?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'));
    }
}

Dans votre formulaire d'édition d'ajouter ceci:

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

ou si vous ne voulez pas envoyer seulement des images

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

et puis ajouter votre champ comme ceci:

$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,
        )
 );
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top