Frage

Ich habe die Frage, die ich poste, ist schlau und wurde oft in diesem Forum gestellt, aber nein, wenn die Antwort von anderen gepostet wurde, wurde mein Problem gelöst.

meine Frage ist, dass ich einen Feldsatz von Dateien habe und Bilder mit mehreren hochladen muss, also habe ich verwendet

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

es ist mir jedoch nicht gelungen, mehrere der obigen Felder hinzuzufügen

War es hilfreich?

Lösung

Standardmäßig können Sie dies nicht tun.
Ich erklärte hier warum es nicht sofort möglich ist und wie Sie es zum Laufen bringen können.
Die Erklärung bezieht sich auf Bildeingaben, funktioniert aber genauso für Bildfelder.
Die Idee ist, dass "mehrfach" kein zulässiges Attribut für Dateieingaben ist.
Sie müssen Ihren gewonnenen Eingabe-Renderer erstellen, der erweitert wird Varien_Data_Form_Element_File (oder Image wenn Sie es für Bilder benötigen) und lassen Sie es zu multiple als Attribut.

Ihr Renderer kann also so aussehen

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

Fügen Sie in Ihrem Bearbeitungsformular Folgendes hinzu:

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

oder wenn Sie nicht nur Bilder hochladen möchten

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

und dann füge dein Feld so hinzu:

$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,
        )
 );
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top