grafityx Posted December 17, 2012 Share Posted December 17, 2012 (edited) Bonjour, Dans la liste des sous catégories je souhaite interdire l’affichage d'une sous catégorie en question, comment faire ? Dans le back office il y a la fonction par contre ça la retire également du menu donc c'est pas ce que je cherche ... Je souhaite simplement supprimer son affichage dans la liste des sous catégories de la catégorie. Sur wordpress on utilise une fonction comme <?php wp_list_categories('exclude=17,38' ); ?> Merci Edited December 17, 2012 by grafityx (see edit history) Link to comment Share on other sites More sharing options...
Hedrad Posted December 17, 2012 Share Posted December 17, 2012 Bonjour, Dans le fichier category.tpl de votre thème, cherchez la boucle qui affiche les sous-catégories et mettez une condition en smarty du genre : {if $id_category != 17 and $id_category != 38}...{/if} Link to comment Share on other sites More sharing options...
grafityx Posted December 17, 2012 Author Share Posted December 17, 2012 (edited) J'ai réfléchi à cette solution mais je ne vois pas comment l’intégrer dans mon code, vu que c'est un code smarty ... Le plus simple me semble une fonction exclude ou except <h3>{l s='Browse by subcategories :'}</h3> <ul class="inline_list"> {foreach from=$subcategories item=subcategory} <li> <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$subcategory.name|escape:'htmlall':'UTF-8'}"> {if $subcategory.id_image} <img src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'medium')}" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" /> {else} <img src="{$img_cat_dir}default-medium.jpg" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" /> {/if} </a><br /> <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}">{$subcategory.name|escape:'htmlall':'UTF-8'}</a> </li> {/foreach} </ul> Edited December 17, 2012 by grafityx (see edit history) Link to comment Share on other sites More sharing options...
coeos.pro Posted December 17, 2012 Share Posted December 17, 2012 le plus simple serai de l'exclure depuis la requete sql qui vous envoi la liste des catégories 1 Link to comment Share on other sites More sharing options...
grafityx Posted December 17, 2012 Author Share Posted December 17, 2012 le plus simple serai de l'exclure depuis la requete sql qui vous envoi la liste des catégories Tu peux m'en dire plus ? Link to comment Share on other sites More sharing options...
Hedrad Posted December 18, 2012 Share Posted December 18, 2012 Plus simple en smarty... <h3>{l s='Browse by subcategories :'}</h3> <ul class="inline_list"> {foreach from=$subcategories item=subcategory} {if $subcategory.id_category != 17 or $id_category != 38} <li> <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$subcategory.name|escape:'htmlall':'UTF-8'}"> {if $subcategory.id_image} <img src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'medium')}" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" /> {else} <img src="{$img_cat_dir}default-medium.jpg" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" /> {/if} </a><br /> <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}">{$subcategory.name|escape:'htmlall':'UTF-8'}</a> </li> {/if} {/foreach} </ul> Link to comment Share on other sites More sharing options...
coeos.pro Posted December 18, 2012 Share Posted December 18, 2012 plus simple en smarty... non mais plus logique et performant en sql, ça c'est sûre ! suffit de rajouter dans la requête SQL qui charge les catégories quelque choses comme WHERE id_category NOT IN (17, 38) à la fin de la requête Link to comment Share on other sites More sharing options...
Hedrad Posted December 18, 2012 Share Posted December 18, 2012 Plus performant en sql, je n'en doute pas. Plus simple à appliquer pour grafityx, je pense que si... Link to comment Share on other sites More sharing options...
grafityx Posted December 18, 2012 Author Share Posted December 18, 2012 Plus simple en smarty... <h3>{l s='Browse by subcategories :'}</h3> <ul class="inline_list"> {foreach from=$subcategories item=subcategory} {if $subcategory.id_category != 17 or $id_category != 38} <li> <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$subcategory.name|escape:'htmlall':'UTF-8'}"> {if $subcategory.id_image} <img src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'medium')}" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" /> {else} <img src="{$img_cat_dir}default-medium.jpg" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" /> {/if} </a><br /> <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}">{$subcategory.name|escape:'htmlall':'UTF-8'}</a> </li> {/if} {/foreach} </ul> Hedrad, dans ton exemple ça enlève l'affichage de la catégorie 17 et 38 ? J'avoue que je préférerai utiliser du smarty (cela me semble plus simple ...), j'essaye demain pour voir si cela fonctionne au sinon j'essayerai l'idée de coeos.pro (même si je n'aime pas trop toucher a la base de donnée) Merci Link to comment Share on other sites More sharing options...
coeos.pro Posted December 18, 2012 Share Posted December 18, 2012 Hedrad, dans ton exemple ça enlève l'affichage de la catégorie 17 et 38 ? je répond à sa place : oui ma solution ne touche pas à la bdd mais limite les données que l'on récupère de la bdd Link to comment Share on other sites More sharing options...
shagshag Posted December 18, 2012 Share Posted December 18, 2012 (edited) je plussois la solution smarty qui à l'avantage ne toucher qu'au thème. Modifier le SQL peut avoir des effets de bord et touche à des fichiers qui ne devrait pas l'être. Par contre c'est {if $subcategory.id_category != 17 or $subcategory.id_category != 38} non ? Edited December 18, 2012 by shagshag (see edit history) Link to comment Share on other sites More sharing options...
grafityx Posted December 19, 2012 Author Share Posted December 19, 2012 (edited) Plus simple en smarty... <h3>{l s='Browse by subcategories :'}</h3> <ul class="inline_list"> {foreach from=$subcategories item=subcategory} {if $subcategory.id_category != 17 or $id_category != 38} <li> <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$subcategory.name|escape:'htmlall':'UTF-8'}"> {if $subcategory.id_image} <img src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'medium')}" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" /> {else} <img src="{$img_cat_dir}default-medium.jpg" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" /> {/if} </a><br /> <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}">{$subcategory.name|escape:'htmlall':'UTF-8'}</a> </li> {/if} {/foreach} </ul> Hedrad, je viens de remplacer avec ton code mais cela ne fait rien ... j'ai toujours l'image et le nom de la sous categorie qui apparaissent ... J'ai essayé également en modifiant comme ci dessous mais pareil Par contre c'est{if $subcategory.id_category != 17 or $subcategory.id_category != 38} Edited December 19, 2012 by grafityx (see edit history) Link to comment Share on other sites More sharing options...
Hedrad Posted December 19, 2012 Share Posted December 19, 2012 (edited) Il faut désactiver ou vider le cache... Pour le désactiver : c'est dans l'onglet Préférences du back-office. Pour le vider, il faut supprimer tous les fichiers sauf index.php qui sont dans ./cache/smarty/compile (pour PS 1.5) ./tools/smarty/compile (pour PS 1.4) J'ai essayé également en modifiant comme ci dessous mais pareil Quote Par contre c'est {if $subcategory.id_category != 17 or $subcategory.id_category != 38} Oui, c'est bien ça qu'il faut faire, j'avais oublié un morceau... Edited December 19, 2012 by Hedrad (see edit history) Link to comment Share on other sites More sharing options...
grafityx Posted December 19, 2012 Author Share Posted December 19, 2012 Il faut désactiver ou vider le cache... Pour le désactiver : c'est dans l'onglet Préférences du back-office. Pour le vider, il faut supprimer tous les fichiers sauf index.php qui sont dans ./cache/smarty/compile (pour PS 1.5) ./tools/smarty/compile (pour PS 1.4) Oui, c'est bien ça qu'il faut faire, j'avais oublié un morceau... Mon cache est déjà désactivé ... je viens de supprimer le contenu dans tools/smarty/compile mais toujours pareils (meme en actualisant la page). Pour info prestashop est installé en local sur mon ordi. Link to comment Share on other sites More sharing options...
coeos.pro Posted December 19, 2012 Share Posted December 19, 2012 c'est tools/smarty/cache si tu es en 1.4 Link to comment Share on other sites More sharing options...
Hedrad Posted December 19, 2012 Share Posted December 19, 2012 {if $subcategory.id_category != 17 or $subcategory[b].[/b]id_category != 38} ... {/if} Vous modifiez le tpl du bon thème ? Link to comment Share on other sites More sharing options...
coeos.pro Posted December 19, 2012 Share Posted December 19, 2012 c'est tools/smarty/cache si tu es en 1.4 et cache/smarty/cache pour 1.5 Link to comment Share on other sites More sharing options...
grafityx Posted December 19, 2012 Author Share Posted December 19, 2012 On parle bien du fichier category.tpl dans le template ? Je suis en 1.4 le dossier tools/smarty/cache est vide Link to comment Share on other sites More sharing options...
coeos.pro Posted December 19, 2012 Share Posted December 19, 2012 perso je croyais que tu parlais du bloc catégories Link to comment Share on other sites More sharing options...
grafityx Posted December 19, 2012 Author Share Posted December 19, 2012 perso je croyais que tu parlais du bloc catégories Non le bloc categorie je n'y touche pas, je veux retirer l'affichage de certaines sous categories qui apparaissent sur la page (après avoir cliqué sur la categorie) car j'ai créer des bannières spécifiques qui apparaissent sur la page donc je n'ai pas besoin quel apparaissent automatiquement en doublon. Link to comment Share on other sites More sharing options...
grafityx Posted December 20, 2012 Author Share Posted December 20, 2012 Un grand merci à coeos.pro qui a trouvé la solution Dans le fichier classes/Categories.php , vers la ligne 463, ajouter une ligne AND c.`id_category` NOT IN(58, 29, 64) Link to comment Share on other sites More sharing options...
sebpolok Posted April 3, 2014 Share Posted April 3, 2014 Bonjour, dites moi avez-vous une idée pour faire cela sur prestashop 1.6 ? J'ai bien essayer les 2 solutions proposées malheureusement aucune ne semble fonctionner même après avoir vider le cache. Merci à ceux qui prendrons un moment pour vérifier cela ! Sébastien 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