2010-09-02 14 views

risposta

10

Dopo alcuni giorni di ricerca, qui è un facile da usare esempio di come è possibile caricare i file in Magento How to create an image or video uploader for the Magento Admin Panel

bassically, abbiamo bisogno di aggiungere il 'enctype' => 'multipart/form-data' al nostro modulo

$form = new Varien_Data_Form(array(
     'id' => 'edit_form', 
     'action' => $this->getUrl('*/*/save'), 
     'method' => 'post', 
     'enctype' => 'multipart/form-data' 
    ) 
); 

Aggiungi un campo di tipo file al nostro fieldset

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

e salvarlo nel nostro controller

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

Semplicemente meravigliosa, ho salvato la giornata – Yaroslav

+0

O sto facendo qualcosa di sbagliato su quello o non funziona con 1.4. – Mike

+0

Questo è stato testato su 1.9, ma si può provare con 1.6 che è rilasciato come CE. –

5

Questo deve andare in etc/system.xml file del modulo:

<?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

come possiamo ridimensionare un'immagine con codice di cui sopra? – liyakat

+0

Questa domanda è così vecchia, non ricordo nemmeno cosa faccia questo codice. Ti consiglio di creare una nuova domanda – mattalxndr

+0

hai dimenticato la programmazione? :( – liyakat