Michel presta Posted May 12, 2020 Share Posted May 12, 2020 Bonjour à tous. je veux afficher un petit logo sur l'image des produits d'une catégorie. sous Prestashop 1.6. en mettant : {if $category->id == '6420007'|| $category->id == '600000'} (mon code) {/if} dans mon tpl, ça fonctionne très bien mais je voudrais que cette condition s'applique a toutes les sous-catégories des catégories de ma formule. Quelqu'un a-t'il une solution? Merci d'avance Link to comment Share on other sites More sharing options...
doekia Posted May 12, 2020 Share Posted May 12, 2020 il y a 55 minutes, ndiaga a dit : Bonjour, Il faut essayer de jouer avec id_parent. faites un <pre> {print_r|$category} </pre> pour voir si vous avez id_parent. Oui et non, il faut mettre les conditions sur les nleft et nright ($category->nleft >= xxx && $category->nright <= yyy) avec xxx et yyy de la catégorie 6420007 Link to comment Share on other sites More sharing options...
Michel presta Posted May 13, 2020 Author Share Posted May 13, 2020 (edited) Il y a 14 heures, doekia a dit : Oui et non, il faut mettre les conditions sur les nleft et nright ($category->nleft >= xxx && $category->nright <= yyy) avec xxx et yyy de la catégorie 6420007 Bonjour, merci pour votre réponse. Cependant ça reste flou pour moi. nright et nleft correspondent a quoi exactement? Nright correspond il aux sous catégories et nright aux catégories parentes? sachant que les deux catégories citées dans mon message, sont deux catégories parentes et que l'une d'entre elles comporte plusieurs sous-catégories qui elles mêmes contiennent, aussi plusieurs sous-catégories. encore merci Edited May 13, 2020 by Michel presta (see edit history) Link to comment Share on other sites More sharing options...
doekia Posted May 13, 2020 Share Posted May 13, 2020 https://explainextended.com/2009/09/29/adjacency-list-vs-nested-sets-mysql/ Link to comment Share on other sites More sharing options...
Michel presta Posted May 13, 2020 Author Share Posted May 13, 2020 (edited) il y a 34 minutes, doekia a dit : https://explainextended.com/2009/09/29/adjacency-list-vs-nested-sets-mysql/ Merci pour le lien. Je vous avoue que je n'y comprend pas grand chose. pouvez vous me donner une explication simple s'il cous plait? Sachant que 6420007 et 600000 sont des catégories parentes (l'une n'est pas la sous-catégorie de l'autre) et que je souhaite appliquer ma condition à ces deux catégories et leur sous-catégories. Désolé, je suis un novice dans la manipulation des conditions et des variables. Peut être pouvez vous me donner le code que je devrais mettre 😊 Merci pour votre aide. Edited May 13, 2020 by Michel presta (see edit history) Link to comment Share on other sites More sharing options...
doekia Posted May 13, 2020 Share Posted May 13, 2020 Aller en base de données, consulter la table ps_category, select id_category,nleft,nright from ps_category where id_category in (6420007,600000); En fonction du résultat écrire dans ton tpl {if ($category->nleft >= <nleft600000> && $category->nright <= <nrigh600000>) || ($category->nleft >= <nleft6420007> && $category->nright <= <nrigh6420007>)} ... ton code ... {/if} Bien sûr replacer nleft6xxxxx et nright6yyyyy par les valeurs en provenance de ta base de données Link to comment Share on other sites More sharing options...
Michel presta Posted May 13, 2020 Author Share Posted May 13, 2020 merci beaucoup je vais faire ça et étudier cette formule pour la comprendre. Je reviendrais vers vous si j'ai des soucis. encore merci Link to comment Share on other sites More sharing options...
Michel presta Posted May 13, 2020 Author Share Posted May 13, 2020 juste une petite question. <nrigh600000> doit etre remplacé par <nrigh677> ou bien par <677> seulement? Les valeurs trouvées par la requête sont les suivantes: nleft nright 600000 677 774 6420007 775 776 merci Link to comment Share on other sites More sharing options...
doekia Posted May 13, 2020 Share Posted May 13, 2020 nleft 677 et nright 774 Link to comment Share on other sites More sharing options...
Michel presta Posted May 13, 2020 Author Share Posted May 13, 2020 merci beaucoup je teste Link to comment Share on other sites More sharing options...
Michel presta Posted May 13, 2020 Author Share Posted May 13, 2020 j'applique cette formule dans le fichier product-list.tpl: {if ($category->nleft >= <nleft 677> && $category->nright <= <nright 774>) || ($category->nleft >= <nleft 775> && $category->nright <= <nright 776>)} <span class="drop_shipping"> <span class="dropshipping">{l s='drop shipping'}</span> </span> {/if} j'ai une erreur 500. la formule suivante fonctionne pour les deux catégories mais pas pour les sous-catégories {if $category->id == '6420007'|| $category->id == '600000'} <span class="drop_shipping"> <span class="dropshipping">{l s='drop shipping'}</span> </span> {/if} Je dois me tromper quelque part Link to comment Share on other sites More sharing options...
Michel presta Posted May 13, 2020 Author Share Posted May 13, 2020 (edited) en attendant de trouver la solution je vais mettre toutes les catégories dans le code 😒 {if $category->id == '6420007'|| $category->id == '600000'|| $category->id == '610000'|| $category->id == '611000'|| $category->id == '612000'|| $category->id == '613000' || $category->id == '614000'|| $category->id == '620000'|| $category->id == '621000'|| $category->id == '622000'|| $category->id == '623000'|| $category->id == '624000' || $category->id == '630000'|| $category->id == '6410000'|| $category->id == '6420000'|| $category->id == '650000'|| $category->id == '660000'|| $category->id == '661000' || $category->id == '668000'|| $category->id == '669000'|| $category->id == '661200'|| $category->id == '661300'|| $category->id == '661400'|| $category->id == '661500' || $category->id == '670000'|| $category->id == '690000'|| $category->id == '6420001'|| $category->id == '691000'|| $category->id == '692000'|| $category->id == '693000' || $category->id == '700000'|| $category->id == '710000'|| $category->id == '720000'|| $category->id == '730000'|| $category->id == '740000'|| $category->id == '750000' || $category->id == '760000'|| $category->id == '770000'|| $category->id == '780000'|| $category->id == '790000'|| $category->id == '800000'|| $category->id == '810000' || $category->id == '820000'} comme ça ça fonctionne mais c'est moche Edited May 13, 2020 by Michel presta (see edit history) Link to comment Share on other sites More sharing options...
doekia Posted May 13, 2020 Share Posted May 13, 2020 c'est pathétique de devoir te tenir par la main comme un petit enfant {if ($category->nleft >= 677 && $category->nright <= 774) || ($category->nleft >= 775 && $category->nright <= 776)} Link to comment Share on other sites More sharing options...
Michel presta Posted May 13, 2020 Author Share Posted May 13, 2020 (edited) si ça vous n'aidez pas avec plaisir, ne le faites pas j'ai passé l'age de me faire traiter comme ça depuis longtemps J'ai modifié mon premier message car il était un peu trop virulent 🤣 Merci quand même Edited May 13, 2020 by Michel presta (see edit history) Link to comment Share on other sites More sharing options...
doekia Posted May 13, 2020 Share Posted May 13, 2020 Il y a 2 heures, Michel presta a dit : J'ai modifié mon premier message car il était un peu trop virulent 🤣 Fort heureusement tout le monde peut consulter l'historique des changements. Je ne vois pas trop quel age tu as passé, mais si tu relis mes réponses je ne vois pas comment tu pourrais trouver que ma remarque n'est pas justifiée. Mais bon comme à priori ceux qui aident ont le droit de ce faire traiter de toute sorte de nom sur ce forum tandis que ceux qui demandent celle-ci sont prompt à la susceptibilité quoiqu'il fasse. Je préfère quitter ce thread. Et je m'abstiendrai de t'aider à l'avenir. Link to comment Share on other sites More sharing options...
Michel presta Posted May 13, 2020 Author Share Posted May 13, 2020 (edited) J'ai plus de 55 ans et je demande de l'aide Si tu ne le fais pas avec plaisir, je ne vois pas pourquoi tu réponds aux messages Que je sache, je ne t'ai traité de rien et en contrepartie je serait pathétique. Ça n'est pas la peine de répondre si c'est pour te justifier. Je n'en ai pas envie. Maintenant, tu as résolu mon problème qui était urgent et je t'en remercie. Maintenant qu'il est résolu, je prendrais le temps d'étudier ce morceau de code pour le comprendre et savoir l'appliquer par la suite. Salutations Edited May 13, 2020 by Michel presta (see edit history) 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