Ajoutez un champ d'image aux plugins comme AW Blog
Modifier dans /app/code/community/AW/Blog/Block/Manage/Blog/Edit/Tab/Form.php
$fieldset->addField('nom de fichier', 'fichier', tableau(
'label' => Mage::helper('blog')->__('Image'),
'obligatoire' => faux,
'nom' => 'nom de fichier',
'après_élément_html' => 'Format 125 x 118 pixels',
));
Modifier dans /app/code/community/AW/Blog/controllers/Manage/BlogController.php après :
fonction publique saveAction() {
si ($data = $this->getRequest()->getPost()) {
Ajouter:
if(isset($_FILES['nom de fichier']['nom']) && $_FILES['nom de fichier']['nom'] != '') {
essayer {
/* Démarrage du téléchargement */
$uploader = nouveau Varien_File_Uploader('nom de fichier');
// N'importe quelle extension fonctionnerait
$uploader->setAllowedExtensions(array('jpg','jpeg','gif','png'));
$uploader->setAllowRenameFiles(false);
// Définir le mode de téléchargement du fichier
// false -> récupérer le fichier directement dans le dossier spécifié
// true -> récupérer le fichier dans les dossiers de type produit
// (file.jpg ira dans quelque chose comme /media/f/i/file.jpg)
$uploader->setFilesDispersion(false);
// Nous définissons le média comme répertoire de téléchargement
$path = Mage::getBaseDir('media') .DS ;
$uploader->save($path, $_FILES['nom de fichier']['nom'] );
} attraper (Exception $e) {
}
//de cette façon, le nom est enregistré dans la base de données
$data['nom de fichier'] = $_FILES['nom de fichier']['nom'];
}
Ajoutez ensuite un champ « nom de fichier » dans votre base de données (table « aw_blog »).
Et enfin dans /app/code/community/AW/Blog/Block/Blog/Edit/Form.php assurez-vous que la variable $form est définie comme suit, afin qu'elle fonctionne avec multipart/form-data :
$form = nouveau Varien_Data_Form(tableau(
'id' => 'formulaire_d'édition',
'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
'méthode' => 'post',
'enctype' => 'multipart/form-data',
)
);
Salut!
je viens de trouver ton post expliquant exactement ce dont j'ai besoin ! La seule chose que je n'arrive pas à faire fonctionner est la partie dans :
/app/code/community/AW/Blog/Block/Manage/Blog/Edit/Form.php
Je ne sais pas vraiment si le code doit être dans la fonction _prepareForm ou ailleurs ! Pourriez-vous me le faire savoir s'il vous plaît !
Salutations,
Santi
Merci pour votre réponse. En effet, il contenait quelques bugs. J'ai mis à jour le message. Cela devrait fonctionner correctement. Pouvez-vous confirmer si cela fonctionne ?
Une idée de ce que je fais mal ?
J'ai ajouté tout le code mais il n'enregistre pas les informations dans la base de données.
Je vois l’image sur la carte médiatique.
J'ai ajouté le nom de fichier à la base de données avec varchar(255) utf8_general_ci
Bonjour, je rencontre le même problème.
L'image n'est pas enregistrée dans le tableau.
Avez-vous résolu ce problème ? 🙁
Salut,
même chose ici. Le nouveau champ est affiché dans le backend mais n'est pas stocké dans la base de données et n'est pas affiché lors de l'enregistrement.
Ce qui manque (j'utilise la dernière version de aw_blog).
merci
Bonjour, j'ai le même problème. J'ai ajouté le champ image via system.xml, pas par programmation.
Comment ajouter des balises alt à l'image à des fins de référencement ?
Cela ne fonctionne pas pour moi. J'ai créé un champ nommé « nom de fichier » dans la base de données après avoir ajouté le code ci-dessus, mais rien n'a fonctionné pour moi.
Pour tous ceux qui ont des problèmes lors de l'enregistrement du fichier dans la base de données, veuillez actualiser vos index.
Merci pour cela, ça marche très bien ! Je rencontre un petit problème : lorsque le message est modifié, l'image est supprimée de la base de données. Une idée ? Merci pour votre aide
Il vous suffit d'ajouter la ligne ci-dessous
$model->setFeaturedImage($_FILES['image_en_vedette']['nom']);
avant
$model->enregistrer();
dans le fichier app/code/community/AW/Blog/controllers/Manage/BlogController.php.
Existe-t-il un moyen d'implémenter cela dans une extension plutôt que de modifier le code principal d'AW Blogs ? De cette façon, AW Blog pourrait être mis à jour à l'avenir et vous pourriez conserver tous les champs supplémentaires ajoutés ?
J'ai un problème lorsque vous téléchargez une image et cliquez sur Enregistrer, elle est enregistrée avec l'image, mais si vous revenez en arrière pour modifier le contenu de la publication, puis cliquez sur Enregistrer, l'image est effacée et vous devez la rajouter :/
Ping : Obtenir le chemin d'accès complet à l'image sur le frontend téléchargé à partir d'un champ personnalisé dans la base de données - Gomagento2
Ping : Obtenir le chemin d'accès complet à l'image sur le frontend téléchargé à partir d'un champ personnalisé dans la base de données - MageTechWeb
Cela fonctionne très bien pour moi, merci beaucoup pour le guide !
Une petite modification. La version que j'utilise a une structure de fichier légèrement différente.
Au lieu de « /app/code/community/AW/Blog/controllers/Manage/BlogController.php »
C'est
« app/code/community/AW/Blog/controllers/Adminhtml/Awblog/Manage/BlogController.php »
(Juste l'ajout du dossier adminhtml)