Comment prévisualiser une image téléchargée dans le formulaire de module personnalisé
-
13-12-2019 - |
Question
J'apprends Magento et j'essaie de faire un module pour gérer les chefs dans un restaurant.J'ai créé un bouton de téléchargement pour télécharger une image et fonctionne (images Enregistrer dans le répertoire dans le fichier de fichier enregistré dans la base de données).
Mais je ne sais pas comment avoir un petit aperçu de l'image à côté du bouton lorsque l'image a été téléchargée (comme lors du téléchargement de l'image du catalogue).Pour le moment, lorsque je clique sur "Modifier" pour modifier une info Chef, le champ Image a l'air identique si j'ai déjà téléchargé l'image ou non.
Voici mon champ:
$fieldset->addField('image_url', 'image', array(
'label' => Mage::helper('tressympa_cheflist')->__('Profile Picture'),
'required' => false,
'name' => 'image_url',
));
Toute suggestion?Merci beaucoup!
La solution
Enregistrer le nom de l'image avec votre chemin complet.
media/{yourfolder}/imagename.jpg
Enregistrer dans la base de données avec yourfolder/imagename.jpg
Il montrera automatiquement sous forme d'édition.
ou
Vous pouvez rendu le champ et montrer l'image
$fieldset->addField('image_url', 'image', array(
'label' => Mage::helper('tressympa_cheflist')->__('Profile Picture'),
'required' => false,
'renderer' => 'modulename/adminhtml_modulename_renderer_image',
'name' => 'image_url',
));
Ajoutez votre bloc de fichier / adminhtml / modulename / rendu / 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;
}
}
?>
Autres conseils
Vous pouvez y parvenir si vous enregistrez votre image dans le dossier de media
par défaut au lieu de media/{yourfolder}/imagename.jpg
comme Changer le chemin d'image
media/{yourfolder}/imagename.jpg => media/imagename.jpg