2010-09-02 5 views
9

Ich entwickle ein Modul mit einem Frontend und einem Backend. Bis jetzt war alles in Ordnung, aber jetzt möchte ich Bilder im Backend hochladen. Ich weiß nicht, wie ich anfangen soll, und alles, was ich versucht habe, hat mir Kopfschmerzen bereitet.Magento Modul Bild in Admin hochladen

Dank

Antwort

10

Nach ein paar Tagen der Forschung, hier ist ein einfaches Beispiel zu verwenden, wie Sie Dateien in magento How to create an image or video uploader for the Magento Admin Panel hochladen

bassically, müssen wir die 'enctype' => 'multipart/form-data' auf unser Formular

hinzufügen

ein Feld vom Typ hinzufügen file unseren Fieldset

$fieldset->addField('fileinputname', 'file', array(
    'label'  => 'File label', 
    'required' => false, 
    'name'  => 'fileinputname', 
)); 

Und es in unserem Controller speichert

if(isset($_FILES['fileinputname']['name']) and (file_exists($_FILES['fileinputname']['tmp_name']))) { 
    try { 
    $uploader = new Varien_File_Uploader('fileinputname'); 
    $uploader->setAllowedExtensions(array('jpg','jpeg','gif','png')); 

    $uploader->setAllowRenameFiles(false); 

    $path = Mage::getBaseDir('media') . DS ; 

    $uploader->save($path, $_FILES['fileinputname']['name']); 

    $data['fileinputname'] = $_FILES['fileinputname']['name']; 
    }catch(Exception $e) { 

    } 
} 
+0

Einfach wunderbar, speicherte meinen Tag. – Yaroslav

+0

Entweder mache ich etwas falsch auf diesem oder es funktioniert nicht mit 1.4. – Mike

+0

Dies wurde am 1.9 getestet, aber Sie können versuchen, mit 1.6, die als CE veröffentlicht wird –

5

Diese etc/system.xml Datei in Ihrem Modul gehen muss:

<?xml version="1.0"?> 
<config> 
    <sections> 
     <imagesection> <!-- Make up a section key (configuration sidebar) --> 
      <!-- ... --> 
      <groups> 
       <imagegroup> <!-- Make up a group key (the part you can expand/collapse) --> 
        <!-- ... --> 
        <fields> 
         <imagefield> <!-- Make up a field key --> 
          <label>Field Name</label> 
          <frontend_type>image</frontend_type> 
          <backend_model>adminhtml/system_config_backend_image</backend_model> 
          <upload_dir config="system/filesystem/media" scope_info="1">uploaddir</upload_dir> <!-- would upload into media/uploaddir --> 
          <base_url type="media" scope_info="1">uploaddir</base_url> <!-- same as previous line --> 
          <sort_order>10</sort_order> 
          <show_in_default>1</show_in_default> 
          <show_in_website>1</show_in_website> 
          <show_in_store>1</show_in_store> 
         </imagefield> 
+0

wie können wir Bild mit obigem Code der Größe? – liyakat

+0

Diese Frage ist so alt, ich erinnere mich nicht einmal daran, was dieser Code tut. Ich empfehle Ihnen, eine neue Frage zu erstellen. – mattalxndr

+0

Sie vergessen Codierung? :( – liyakat