bruno76 Posted August 27, 2009 Share Posted August 27, 2009 Hello, ;-) Suite à une question posée ici :http://www.prestashop.com/forums/viewthread/26371/graphisme/comment_inserer_un_fond_different_pour_chaque_categorieJ'ai essayé de répondre à ce membre.Ci-dessous quelques pistes à suivre :Pourquoi ne pas utiliser des boutons sous forme d'image réalisée sous Photoshop par exemple ? Pour ce faire il faut modifier le code de../modules/blockcategories/category-tree-branch.tplde la manière suivante : > {if $node.children|@count > 0} </pre> <ul> {foreach from=$node.children item=child name=categoryTreeBranch} {if $smarty.foreach.categoryTreeBranch.last} {include file=$tpl_dir./category-tree-branch.tpl node=$child last='true'} {else} {include file=$tpl_dir./category-tree-branch.tpl node=$child last='false'} {/if} {/foreach} </ul> <br> {/if Dans ce cas il faudra nommer les images de catégorie de la manière suivante :id_categorie-bcat.png ou bien id_categorie-bcat.jpg (1-bcat.jpg,5--bcat.jpg etc.)et stocker les images dans le répertoire Prestashop suivant :.../img/cVoir mon utilisation sur ce site que je finalise :http://www.dapabox.com/ Sinon tu crées des boutons graphiques dynamiquement via PHP et GD Pour verifier si GD est activé sur ton serveur, execute le code PHP suivant : 1. <?php 2. var_dump(gd_info()); 3. ?> /* En retour la fonction te renvoie un tablo du type */ array(9) { ["GD Version"]=> string(24) "bundled (2.0 compatible)" ["FreeType Support"]=> bool(false) ["T1Lib Support"]=> bool(false) ["GIF Read Support"]=> bool(true) ["GIF Create Support"]=> bool(false) ["JPG Support"]=> bool(false) ["PNG Support"]=> bool(true) ["WBMP Support"]=> bool(true) ["XBM Support"]=> bool(false) } Voir cet exemple, où j'affiche une image bouton avec texte dynamique :http://www.dapabox.com/shop/dapa/dyn_img.php?titre=EssaiLe code source de la page dyn_img.php : <?php /* Example for : alexmaislautre Forum Prestashop */ /* version 0.a1 Date : 27 Aug 2009 */ /* Publisher : B.BARON */ /* For : http://www.dapabox.com/ */ // Nouvelle image 100*30 $im = imagecreate(100, 30); // Fond rouge texte blanc $bg = imagecolorallocate($im, 255, 0, 0); $textcolor = imagecolorallocate($im, 255, 255, 255); // Ajout de la phrase en haut à gauche imagestring($im, 5, 0, 0, $_GET['titre'], $textcolor); // Affichage de l'image header('Content-type: image/png'); imagepng($im); imagedestroy($im); ?> L'appel dans une page HTML, PHP ou TPL se fera de la manière suivante : ------ Ajout exemple utisation GD avec Polices True Type (TTF) ---------Pour ce faire il doit exister un répertoire fonts avec les fichiers polices nécessairesex :../fonts/webdings.ttfdans mon exemple j'ai sur le serveur :prestashop/fonts/Dapa_Carton.ttfprestashop/fonts/DAPAStamp1.ttfprestashop/fonts/DAPAStamp2.ttfURL de test :http://www.dapabox.com/shop/dapa/dyn2.php?nomcategorie=Boite a crayonsoù nomcategorie est le texte à afficher.enfin le code exemple : <?php /* Example for : alexmaislautre Forum Prestashop */ /* version 0.b1 Date : 27 Aug 2009 */ /* use PHP + GD + TTF Fonts Files*/ /* Title : Affichage d'un texte avec caractère True Type personnalisé */ /* Publisher : B.BARON */ /* For : http://www.dapabox.com/ */ // Définition du content-type header('Content-type: image/png'); // Création de l'image $largeurpixel = 520; $hauteurpixel = 80; $im = imagecreatetruecolor($largeurpixel, $hauteurpixel); if ($im){ // Création de quelques couleurs $white = imagecolorallocate($im, 255, 255, 255); $red = imagecolorallocate($im, 255, 0, 0); $black = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, $largeurpixel-1, $hauteurpixel-1, $white); // Le texte à dessiner $text = $_GET['nomcategorie']; // Remplacez le chemin par ton propre chemin de police $font = 'fonts/Dapa_Carton.ttf'; $fontsize = 64; $decofont ='fonts/DAPAStamp1.ttf'; $decofontsize = 72; // Ajout du texte $lefttextposition = 30; $bottomtextposition = 70; $leftdecoposition = 400; $bottomdecoposition = 70; imagettftext($im, $fontsize, 0, $lefttextposition, $bottomtextposition, $black, $font, $text); imagettftext($im, $decofontsize, 0, $leftdecoposition, $bottomdecoposition, $red, $decofont, '*'); // Utiliser imagepng() donnera un texte plus claire, // comparé à l'utilisation de la fonction imagejpeg()*/ imagepng($im); imagedestroy($im);} else {echo 'erreur';} ?> Intégration HTML, PHP, TPL : Voir une utilisation dans ce site que je développe acctuellement :http://www.dapabox.com/shop/dapa/product.php?id_product=16 http://www.dapabox.com/shop/dapa/product.php?id_product=25 etc.L'affichage des titres "GD" est aussi présent sur les listes catégories et pages d'accueilBruno Link to comment Share on other sites More sharing options...
selea8 Posted October 23, 2009 Share Posted October 23, 2009 Bonjour,Merci pour ce complément de réponse bien détaillé,J'ai une question cette solution marche t'elle pour mettre dans les titres des blocs des images de fond et votre systeme pour la police dynamique?Car dans votre code je ne vois pas ou je peux mettre l'image de fond des catégoriesmerci d'avance Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now