so wählen Sie mehrere Bilder mit dem Magento-Formularfeld aus
-
13-12-2019 - |
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
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,
)
);