Come visualizzare visualizzare in anteprima l'immagine caricata in Modulo personalizzato
-
13-12-2019 - |
Domanda
Sto imparando magento e cercando di fare un modulo per gestire gli chef in un ristorante.Ho creato un pulsante di caricamento per caricare l'immagine e funziona (immagini salva nella directory, nome file salvato nel database).
Ma non so come avere una piccola anteprima dell'immagine accanto al pulsante quando l'immagine è stata caricata (come quando si carica l'immagine del catalogo).Al momento, quando faccio clic su "Modifica" per modificare un INFO del chef, il campo immagine sembra uguale se ho caricato immagine o meno.
Ecco il mio campo:
$fieldset->addField('image_url', 'image', array(
'label' => Mage::helper('tressympa_cheflist')->__('Profile Picture'),
'required' => false,
'name' => 'image_url',
));
.
Qualsiasi suggerimento?Grazie mille!
Soluzione
Salva il nome dell'immagine con il tuo percorso completo.
media/{yourfolder}/imagename.jpg
.
Salva nel database con yourfolder/imagename.jpg
Mostrerà automaticamente il modulo di modifica.
È possibile eseguire il campo e mostrare l'immagine
$fieldset->addField('image_url', 'image', array(
'label' => Mage::helper('tressympa_cheflist')->__('Profile Picture'),
'required' => false,
'renderer' => 'modulename/adminhtml_modulename_renderer_image',
'name' => 'image_url',
));
.
Aggiungi il blocco file / adminhtml / modulenaame / rendering / image.php
<?php
class NameSpace_ModuleName_Block_Adminhtml_ModuleName_Renderer_Image extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract{
public function render(Varien_Object $row) {
$html = '<img id="' . $this->getColumn()->getId() . '" src="'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$row->getData($this->getColumn()->getIndex()) . '"';
$html .= '/>';
return $html;
}
}
?>
. Altri suggerimenti
È possibile ottenere questo se si salva la tua immagine nella cartella media
predefinita anziché media/{yourfolder}/imagename.jpg
come modifica del percorso dell'immagine
media/{yourfolder}/imagename.jpg => media/imagename.jpg
.