ImageCache : l'image n'apparait pas dans la view

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

J'utilise ImageCache pour réduire des images postées par les utilisateurs et les afficher dans une view. J'ai créé une "Vignette" avec ImageCache qui correspond à un format plus petit et qui est stockée dans le ficher sites/default/files/imagecache/Vignette. Problème : l'image n'est visiblement jamais redimensionnée et jamais copiée dans ce dossier.

Les images précédentes y figurent bien mais les dernières postées ne sont pas copiées dans le répertoire. Vous avez une idée ? De quel côté je dois chercher ?

Tu va dans tes type de contenu tu fait modifier de celui qui contient l image concerner puis tu va da l onglet en haut a droite "afficher les champs .Tu regarde la colone noeud complet ,ya un menu deroulant qui et en face de ton image, tu selectionne Vignette.Et la dans ton node c est bien ton image resizer qui apparaitra.

Est tu sure d a voir selectionne la bonne.

tu va dans contenu tu selectionne celle ou ya vignette et si elle n apparait pas dans contenu de ta vue , c est que tu a oublier de lui mettre les droit d acces dans Utilisateur/ Droit d acces en face de ton image dans la partie content permission et la partie image cache

Dans ma view j'ai "Contenu : Image" (c'est la node) et "Vignette image linked to node". Ça me semble donc bon. Pour les droits d'accès je suis sur le compte 1 (admin) donc je vois tout.

Par contre il n'y a aucune image copiée dans le dossier "Vignette" de Imagecache (dans default/files).

Ils sont tous en 777. Pour tester j'ai créer un nouveau preset avec ImageCache et le constat est le même : le dossier est bien créé, je le met en 777 mais il ne se passe rien.

En même temps je ne sais peut-être pas utiliser ImageCache :) Il suffit de créer un preset et de l'appeler dans la view dans les champs non ?

Ce que tu m'as dit au début serait utile si je voulais utiliser ce format dans ma node mais là je veux l'utiliser dans un VIEW. Non ? Je ne dois donc pas modifier les champs de mon type de contenu je crois.

Après recherche les images semblent être dans imagefield_thumbs mais pas dans le dossier "Vignette". Évidemment si je les colle à la mai ça marche...

tu est obligé de le faire et au meme endroit tu le met en hidden pour le node complet.Et la tu y aura acces de ta view et l image sera crre dans le dossier vignette.L image se creer la ba que kan tu l upload et ke tu valide ton node.Donc tu doit la creer dans ton node et le mettre en hidden dans l onglet de tes champ cck "afficher les champ" tu selectionne Vignette et tu le met en hidden sur le node complet

J'ai peut-être mal compris mais comment mettre à la fois en "Hidden" et en "Vignette" puisque je ne peux faire qu'un seul choix dans "afficher les champ". De plus ça voudrait qu'on ne peut afficher l'image que d'une seule façon (une seule taille) ?

Si je fais ça (je viens de tester) l'image disparait de la node puisqu'elle est exclue.

J'ai lu sur un autre tropic que : "Les images du preset ne sont créées qu'à la demande, c'est à dire, quand tu veux qu'un contenu les affiches." Autrement dit elles n'existent pas à l'upload mais dès qu'une view les appelle. Mes images devraient donc se créer automatiquement à partir du moment où je les mets dans les champs "Contenu" de ma view non ?

Mais sur ton node l image ke tu affiche a un preset mais c est pas celui ke tu veut dans ta vue c est bien ça???

Dans ce ça je l ai déjà fait tu ajoute ton champ cck avec le bon preset et il aura un autre nom fieldtonchamp , puis ds affichage du node tu met le preset ki te convient tu coche exclure du node. Tu ton champ ki est dispo dans ta vue. Je l ai déjà fait après peut être k on parle pas de la même chose

Bon, pas sûr que je comprenne tout :) Je te résume qu'on soit d'accord.

J'utilise "ImageField" et "Upload elements" pour afficher une image dans une node. L'utilisateur peut l'uploader et j'affiche ensuite le champ qui correspond et qui s'appelle "Image". Il n'est donc pas exclu dans "afficher les champs" (sinon rien ne s'affiche)

Avec ImageCache j'ai créé un preset "Vignette" destiné à l'affichage de l'image dans view. Dans les Champs de cette view j'ai donc pour le contenu Image : "Contenu : Image Vignette image linked to node". Là rien ne s'affiche dans la view et le dossier correspondant dans le FTP "files/imagecache/vignette" est vide.

Ce que tu me proposes : créer un nouveau champ que j'exclue de la node et où le format est "Vignette" c'est ça ?

Exactement, moi c ets ce ke j ai fait j avai construit une page d accueil avec une vue ou je remonter des article qui avai une grande foto.Dans ma page d accueil je voulais de plus petite foto.Et ja i creer un champ pour cette taille dans ces node.Mais je ne voulais pas kil s affiche sur les node donc je l ai ai exclu du node.Par contre kan j allais dans un article j avai 2 foto a uploader .Une pour l article que j ai mis en obligatoire et celle de m a vue ou qui n etai pas obligatoire et ou j ai mis pour description "si sur la page d accueil.Donc kan je voulais remonter un article dans va vue avec cette vignette il fallais qu elle appartienne au node.Car kan tu va dans contenu avec ta vue tu selectionne les champs cck qui sont dans ton node et tu n a pas acces a une fonctionalité qui va aller prendre ton image la passer dans le preset et te l afficher comme tu veut.(Sinon c est vrai que ca aurait été trop beau lol)

On est sur la meme longueure d onde ou toujour pas :)

Exactement, moi c ets ce ke j ai fait j avai construit une page d accueil avec une vue ou je remonter des article qui avai une grande foto.Dans ma page d accueil je voulais de plus petite foto.Et ja i creer un champ pour cette taille dans ces node.Mais je ne voulais pas kil s affiche sur les node donc je l ai ai exclu du node.Par contre kan j allais dans un article j avai 2 foto a uploader .Une pour l article que j ai mis en obligatoire et celle de m a vue ou qui n etai pas obligatoire et ou j ai mis pour description "si sur la page d accueil.Donc kan je voulais remonter un article dans va vue avec cette vignette il fallais qu elle appartienne au node.Car kan tu va dans contenu avec ta vue tu selectionne les champs cck qui sont dans ton node et tu n a pas acces a une fonctionalité qui va aller prendre ton image la passer dans le preset et te l afficher comme tu veut.(Sinon c est vrai que ca aurait été trop beau lol)

On est sur la meme longueure d onde ou toujour pas :)

Oki. J'ai compris. De mon côté je ne peux pas demander un doule upload à mes utilisateurs. Ils ont déjà la flemme d'en faire un seul :)

Je pense qu'on doit pouvoir faire les deux : une vignette et l'image car ça marchait avant sur mon site (une mise à jour a dû faire planter le reste). Je vais faire 2-3 tests pour régler le problème. Si ça marche je ferais passer le message.

Merci pour ton aide.

Bon je me sui rappeler que j avai eu un cas similaire et en fait tu a peut etre raison kan tu upload une image il la preset sous tout les format.

Maintenant si tu veut demander qu un seul upload a tes user tu doit prendre la main sur ton template de vue

Et dans ta vue tu selectionne le champ de l image mais tu lui dit pas de te renvoyer l image, tu selectione path_file et ensuite dans ton template tu utilise cette methode pour appeler ton image

$imageCache = theme_imagecache("ton_preset", chemin que la vue te renvoi, '','le alt de tonimage'' );

Maintenant ca me parait louche si tu me dit ke le dossier preset est vide je me dit k il y a peut etre une histoire de droit.Tes user kan il upload leur image ils n on pas les droit image cache qui va faire tout les preset.

Regarde du coté de tes droit car tant ke ton image n est pas dans ton preset tu ne l aura jamais

ps : Si tu t appercoit que c etai un probleme de droit réessaye avec ta vue sans ma methode.Et tient moi au courant, j ai envie de soulever ce mystere:)

Après quelques recherches :

1/ On peut créer avec View, ImageField et CCK une image qui sera redimensionnée à une taille différente dans la view. Un tuto ici : http://learnbythedrop.com/drop/148

2/ Malgré cela mon image ne s'affiche toujours pas dans la view. En fait je n'ai déjà pas d'aperçu d'image dans la "Vignette" d'Imagecache qui n'ai jamais créé dans le fichier. J'ai essayé de regarder cette issue mais le patch #41 est visiblement déjà intégré dans la mise à jour : http://drupal.org/node/540486

Bref, ça ne marche toujours pas...

Bonjour,

Je reprend votre post à la volée, car depuis deja un petit moment j'ai rencontré exactement le même problème que 1baraki.

J'ai crée un type de contenu avec un champs CCK ou je telecharge une image.
A l'aide de view j'ai crée une vue qui me recupere ces images et me les affiche en vignette selon le preset que j'ai préétabli (nom du preset: diaporama, redimensionne les image pour une largeur de 100 px) et à l'aide de shadowbox je visionne les images à taille normal sous forme de lightbox.

Problème: mes images ne sont pas téléchargées automatiquement dans mon repertoire sites/default/files/imagecache/diaporama mais en fait dans un repertoire sites/default/files/imagefields_thumbs/diaporama. Les images sont par contre bien à la dimension spécifiée (à savoir 100 px de large).

Pour que ma vue fonctionne je suis donc obligé de copier-coller mes images dans mon repertoire /imagecache/diaporama. (Une fois cette manip réalisée, ma view marhe tres bien).

J'ai réalisé les manip que vous expliquiez mais helas rien a faire impossible d'avoir automatiquement les images dans le bon repertoire (petite precision: le repertoire /diaporama ne s'est pas crée automatiquement, j'ai du le crée moi meme).

Je voudrais donc savoir quelles sont les manip exactes que tu as réalisé pour régler ton problème???? car franchement j'ai du loupper qqs chose

Y a t'il d'autres paramètres a toucher pour indiquer au système le bon chemin ou il doit placer les images retouchées???

Je précise que j'utilise la librairie GD2 aussi, que je suis sous windowsXP en admin et que sous drupal je suis aussi logger en admin.

Je te remercie d'avance

Efface tout ce k il y a dans le dossier files et repasse sur tout tes presets tu les edite et tu valide.Et avant va dans ton-site/admin/settings/file-system et verifie que ton Chemin du dossier de stockage : c est sites/tonsite/files

Salut,

J'ai enfin trouvé ou etait mon erreur: dans /admin/settings/file-system il faut mettre le paramètre "méthode de téléchargement" à "Privée" (fichiers transférés par Drupal) et non à "Public"(fichiers dispo par protocole HTTP) comme c'etait le cas pour moi jusqu'à présent.

Et là miracle, les fichiers des différents preset sont crées automatiquement ainsi que les images retouchées.

Merci pour ton aide.

J'ai le même problème à savoir le dossier se créait mais aucune image n'est redimensionnée/copié à l'intérieur, cependant lorsque je fais un redimensionnement à 100%(autrement dit je ne touche pas à l'image d'origine) l'image se copie parfaitement dans mon dossier...
Quelqu'un à une explication ?