Pour mon composant backend, j'ai besoin de télécharger l'image pour mes articles. Tout fonctionne très bien, j'ajouter le champ pour l'image:Joomla définit la valeur du champ `file` après l'enregistrement
<field
type="file"
name="category_image"
accept="image/*"
label="COM_SKYCATALOG_ITEM_CATEGORY_IMAGE_LABEL"
directory=""
preview="false"
/>
puis mettre à jour la méthode save()
pour contrôler le téléchargement:
$jinput = JFactory::getApplication()->input;
$files = $jinput->files->get('jform');
$fileinfo =pathinfo($files['category_image']['name']);
$ext = $fileinfo['extension'];
$filename = time().".$ext";
$tmp_file = $files['category_image']['tmp_name'];
$dest = "../media/com_xxxxx/upload/".$filename;
if (JFile::upload($tmp_file, $dest)) {
// successed :)
} else {
// failed :(
echo "FAAAIL!!!";
die();
}
Lorsque je choisis le fichier et enregistrer l'article, le fichier téléchargé dans le dossier, mais la catégorie Le champ d'image est vide. Et aussi le champ pour category_image dans la table mysql n'a pas été mis à jour, mais quand j'utilise le type de champ media
cela fonctionne très bien.
Qu'est-ce qui est erroné ici?
Je n'ai pas aimé que le gestionnaire de médias ralentisse pour travailler avec.
Ok, je trouve une solution partielle - https://stackoverflow.com/questions/12927464/how-to-save-uploaded-files-name-on-database maintenant il enregistre dans le nom de fichier téléchargé db, mais n'a pas encore le charger quand j'ouvre l'article –