Je ne sais pas pourquoi mais sur tous les projets que je croise, je ne trouve jamais de fonction de redimensionnement proportionnel des images. Alors c’est la première chose que je développe car avec mon type de clientèle, je préfère réaliser ce genre de module plutôt que de former mes clients à ajuster des images dans le bon format sous un logiciel de retouche photo.
Voici donc un module que j’ai nommé DirectResize en référence au même module que j’avais développé pour MODx CMS (http://www.modxcms.com) et qui a déjà fait bien du chemin.
Cette fois, Variant avait quasiment pensé à tout, il n’y avait plus que le système de calcul des proportions à intégrer.
Je vous propose donc d’essayer vous aussi ce mini module. En attendant de savoir comment réaliser un Package à la Magento, je vous donne un Zip avec les fichiers dedans. A vous de la passer à l’ancienne sur votre FTP. Ce module est développé dans le référentiel Local et ne touche donc absolument pas au Core de Magento.
Ensuite, dans les templates, vous pouvez changer ceux d’origine ou créer les vôtres pour modifier l’appel de classe resize en directResize et supprimer les attributs de height et width. Par exemple, avant, on avait ceci :
Si vous voulez changer cette info dans le template de liste de produit par defaut, il faut aller dans :
app/design/frontend/default/default/template/catalog/product/list.phtml
et modifier la ligne 93 pour l’affichage en mode grille.
La fonction directResize s’agrémente d’une troisième variable dans sa définition. Par exemple, dans directResize(135, 135, 3) je veux parler du 3. C’est ce qui défini le type de ratio à appliquer ... et c’est ce qui fait toute la différence. Donc, on spécifie une largeur, ensuite une hauteur puis le ratio.
Voyons les 5 possibilités de ratio :
0: redimensionnement aux dimensions exactes données
1: redimensionnement largeur fixée et hauteur calculée
2: redimensionnement hauteur fixée et largeur calculée
3: redimensionnement pour que l’image rentre proportionnellement dans la largeur et la hauteur fixées
4: redimensionnement pour que l’image couvre au plus juste la hauteur et la largeur fixées
j’ai installé les fichiers par FTP.
J’ai ensuite essayé de remplacé dans le
app/design/frontend/default/default/template/catalog/product/view/media.phtml
ou
<img src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail', $_image->getFile())->directResize(68, 68, 3); ?>"/>
mais j’ai cette erreur:
Fatal error: Call to undefined method Mage_Catalog_Helper_Image::directResize() in /home/k1003/app/design/frontend/default/default/template/catalog/product/view/media.phtml
Faut il faire autre chose que publier les fichiers pour installer ce module ?
OK, j’ai installé ce module depuis MagentoConnect et cela fonctionne parfaitement !
Par contre, pour configurer MagentoConnect j’ai du donner le droit d’écriture sur tout les fichiers du site, question sécurité c’est quand même pas du tout sérieux…
Sais tu quel sont les fichiers / répertoires qui doivent être en écriture lors de l’installation de ce module ?
Ou ajoute t’il les fichiers ? Ce module modifie des fichiers du core ?
Merci pour tes réponses, et pour cet indispensable module