Forum CMS Made Simple FR

Version complète : CGSmartImage : changement de fonctionnement pour les chemins
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Salut,

Aujourd'hui j'ai perdu quasiment 3 heures à faire des recherches dans tous les sens suite à un problème de génération d'images avec CGSmartImage après mise à jour du module.
Après tout ce temps, et la reproduction du problème sur d'autres sites mis à niveau, j'ai fais part à Calguy du bug.

Plus de détails...
Auparavant un fichier « toto.png » se situant dans le dossier « uploads/images » s'appelait de la façon suivante :

Code :
{CGSmartImage src="uploads/images/toto.png"}

Maintenant il faut faire ceci :

Code :
{CGSmartImage src="images/toto.png"}

En effet, CGSmartImage considère que chaque fichier appelé fait partie du dossier « uploads ».

Très bien, mais comment appeler un fichier dans un autre dossier, du genre « zone/img » ? Et bien il faut faire comme ceci :

Code :
{CGSmartImage src="/zone/img/toto.png"}

Oui, vous voyez, il faut à présent préfixer le nom du dossier par un slash... Étrange comme idée mais à savoir à présent.

Pour récapituler :
  • Sans préfixe alors le module se base sur le dossier « uploads »,
  • Avec préfixe (slash) alors le module se base sur le dossier racine.

J'espère que Calguy mettra à jour son aide du module car ce n'est pas encore référencé.

Les infos sur le « bug » et les explications de Calguy sont disponibles sur la forge (impossible pour moi de déposer le lien sur le forum car je n'ai pas les droits suffisants).
Tiens, salut, t'as changé de pseudo?
Yes, j'ai changé de pseudo car je change de nom d'activité et de fonctionnement. Mais chut pour le moment :-)
Bien vu !

j'ai perdu pas mal de temps aussi, avant de voir ton bug report.

pour ceux qui utilisent CGSmartImage avec le module Gallery ou autres et qui auraient des soucis:

avec le module Gallery par exemple

Vu que les variables $image->thumb et $image->file commencent par "uploads" sans /

Utilisez un petit capture

1- pour rajouter le /

2- ou pour définir le chemin du fichier si comme moi vous n'avez pas de répertoire uploads


à mon avis, ce module ainsi que Gallery et autres devraient se baser seulement sur le dossier racine

ou mieux, utiliser les variables du fichier config vu que le répertoire "uploads" est une variable et non une contante.
J'ai peut-être été un peu succinct dans mon explication, mais CGSmartImage utilise bien une variable pour déterminer s'il s'agit du dossier « uploads » (ou tout autre nom choisi par le développeur).
Néanmoins, je suis d'accord avec toi Phil, ce module aurait du se contenter de « fonctionner » à partir du répertoire racine.

Ce genre de modification de fonctionnement peut impliquer de grosses pertes de temps sur des updates de site.
Exacore a écrit :Ce genre de modification de fonctionnement peut impliquer de grosses pertes de temps sur des updates de site.

Je confirme Wink

mais bon, on va pas trop se plaindre...


En passant, j'ai aussi suggérer la création de nouvelles constantes pour le corps : pour les répertoires lib, classes ...

Histoire de rendre le système plus facile à maintenir et surtout plus flexible pour permettre ce genre de choses.

Déplacer les répertoires sensibles dans une section non publique sur serveur,

et surtout, permettre la centralisation multi-site (que je fais en m'arrachant un peu les cheveux)

lors d'une maj du système ou modules, on ne vas pas quand même répéter xxxx fois les mêmes opérations.

Suis bien trop fainéant à la base :p
merci exacore pour ton retour Smile
Bien d'accord avec Bess... un grand merci, car je pense que je serai encore dessus sans ton post
D'après les dernières infos, la version 1.10.7 semblerait faire marche arrière et régler le problème. Je n'ai pas encore pu tester.