romelik Posted November 5, 2014 Share Posted November 5, 2014 (edited) Bonjour Je voudrais pouvoir cacher certaines caractéristiques sur la fiche technique du produit ... je penses que cela doit être possible en bidouillant le product.tpl ... mais je n'ai pas trouver qui fonctionne parmi tout ce que j'ai pû lire ...Quelqu'un aurai-t-il une idée ??? Voici je penses la partie que je dois modifier: {if isset($features) && $features} <!-- Data sheet --> <section class="page-product-box"> <h3 class="page-product-heading">{l s='Data sheet'}</h3> <table class="table-data-sheet"> {foreach from=$features item=feature} <tr class="{cycle values="odd,even"}"> {if isset($feature.value)} <td>{$feature.name|escape:'html':'UTF-8'}</td> <td>{$feature.value|escape:'html':'UTF-8'}</td> {/if} J'ai déjà tenter de voir si je ne pouvais afficher qu'une seule caractéristique avec ce tuto et en replacant le "{if isset($features) && $features}" du code ci dessus par {if isset($features_by_key.3.value) && $features_by_key.3.value} {$features_by_key.3.name} : {$features_by_key.3.value} mais cela ne semble pas fonctionner même après le vidage du cache smarty... Je suis sous prestashop 1.6.0.9 donc merci à vous si vous avez une piste. Edited November 12, 2014 by romelik (see edit history) Link to comment Share on other sites More sharing options...
Agostini Julien Posted November 7, 2014 Share Posted November 7, 2014 Bonjour, Il vous suffit de rajouter une exception dans le "{foreach}" pour la valeur que vous ne voulez pas voir apparaitre. exemple avec une exception sur l'identifiant de la caractéristique ("$feature.id_feature") : {foreach from=$features item=feature} {if $feature.id_feature == 3} <tr class="{cycle values="odd,even"}"> {if isset($feature.value)} <td>{$feature.name|escape:'html':'UTF-8'}</td> <td>{$feature.value|escape:'html':'UTF-8'}</td> {/if} </tr> {/if} {/foreach} Link to comment Share on other sites More sharing options...
romelik Posted November 7, 2014 Author Share Posted November 7, 2014 Dommage ... tellement simple ...j'y croyais vraiment ... mais malheureusement cela ne fonctionne pas . Ma page produit ne s'affiche avec cet ajout de code . Voici ce que j'ai fait : {if isset($features) && $features} <!-- Data sheet --> <section class="page-product-box"> <h3 class="page-product-heading">{l s='Data sheet'}</h3> <table class="table-data-sheet"> {foreach from=$features item=feature} {if $feature.id_feature ==66} <tr class="{cycle values="odd,even"}"> {if isset($feature.value)} <td>{$feature.name|escape:'html':'UTF-8'}</td> <td>{$feature.value|escape:'html':'UTF-8'}</td> {/if} </tr> {/foreach} </table> </section> <!--end Data sheet --> {/if} J'ai donc juste intercallé : {if $feature.id_feature ==66} dans le product.tpl faut-il faire de même ailleurs?? 66 correspondant à ID de ma catégories d'ailleurs est-il normal que les 2 caractéristiques que j'ai pour le moment soit respectivement 65 et 66 ... Le fait d'il soit numéroté si loin dans la suite numérique est-il dû au fait que je n'ai pas arrêté d'importer et de supprimer mes articles ??? En tout cas merci à vous pour votre réponse ... mais dommage que celle-ci ne fonctionne pas ... chez moi tout du moins. Cependant je me pose une question par rapport à votre proposition cette variable $feature.id_feature n'est déclarée nulle part dans le product.tpl il y $feature.name et $feature.value, n'est-ce pas là que pourrai se trouver le souci??? Link to comment Share on other sites More sharing options...
Agostini Julien Posted November 7, 2014 Share Posted November 7, 2014 Il vous manque la balise de fermeture "{/if}" avant la celle du {/foreach}. Si vous souhaitez faire apparaitre tout sauf l'id 66 il va falloir mettre {if $feature.id_feature != 66}.........{/if} Link to comment Share on other sites More sharing options...
romelik Posted November 7, 2014 Author Share Posted November 7, 2014 Bien vu !!!! un super merci cela fonctionne!!! J'ose une dernière petite demande j'ai tenté de cacher 2 caractéristiques donc j'ai simplement remis un 2eme "{if $feature.id_feature ==66}" pour cacher la caractéristique 66 mais cela ne fonctionne pas ... page blanche à nouveau ... connaîtriez-vous l'astuce pour pouvoir en cacher 2, 3 ... {if isset($features) && $features} <!-- Data sheet --> <section class="page-product-box"> <h3 class="page-product-heading">{l s='Data sheet'}</h3> <table class="table-data-sheet"> {foreach from=$features item=feature} {if $feature.id_feature ==65} {if $feature.id_feature ==66} <tr class="{cycle values="odd,even"}"> {if isset($feature.value)} <td>{$feature.name|escape:'html':'UTF-8'}</td> <td>{$feature.value|escape:'html':'UTF-8'}</td> {/if} </tr> {/if} {/foreach} </table> </section> <!--end Data sheet --> {/if} Link to comment Share on other sites More sharing options...
romelik Posted November 7, 2014 Author Share Posted November 7, 2014 OK je me réponds je viens de trouver : si cela peut aider ... {if $feature.id_feature ==65 & $feature.id_feature ==66} cache les caractéristique 65 et 66!! Encore un grand merci à vous !!! Je vais pouvoir avancer dans ma boutique grâce à vous. Bonne fin de journée!! Link to comment Share on other sites More sharing options...
Martin Uker K Posted November 7, 2014 Share Posted November 7, 2014 Permettez-moi de remettre en question la solution. Je crois que votre code cache toutesl es feature, pas seulement les IDs 65 et 66. Votre code dit, rapidement : Si le ID de la feature EST ÉGALE à 65 et à 66, affiche le contenu. Le bon code serait {if $feature.id_feature != 65 && $feature.id_feature != 66} Ici on précise : Si le ID est différent de 65 et 66, affiche la caractéristique. Vérifié si vos autre caractéristiques apparaissent, avec le code {if $feature.id_feature ==65 & $feature.id_feature ==66}, j'en doute... Martin 1 Link to comment Share on other sites More sharing options...
romelik Posted November 7, 2014 Author Share Posted November 7, 2014 Bon j'ai crié victoire trop vite pour cacher 2 caractéristique cela ne fonctionne pas ... ça les caches toutes ... donc je suis toujours preneur d'une autre piste... Merci 1 Link to comment Share on other sites More sharing options...
romelik Posted November 7, 2014 Author Share Posted November 7, 2014 Vous avez tout à fait raison Martin ... on a écrit en même temps la même constatation ... vous n'auriez pas une piste par hasard ??? Link to comment Share on other sites More sharing options...
Martin Uker K Posted November 7, 2014 Share Posted November 7, 2014 Le code que j'ai écris dans mon entré devrait fonctionner. Lisez-la au complet... {if $feature.id_feature != 65 && $feature.id_feature != 66} Link to comment Share on other sites More sharing options...
romelik Posted November 7, 2014 Author Share Posted November 7, 2014 Pardon j'ai lu trop rapidement votre poste je viens de voir que vous me proposiez quelque chose... Link to comment Share on other sites More sharing options...
Martin Uker K Posted November 7, 2014 Share Posted November 7, 2014 De un, l'éperluette (&) devait être en double pour bien fonctionner, de deux, vous devez vérifier que vos IDs sont DIFFÉRENTS (!=) et non ÉGALES (==) pour afficher. Ces deux points étaient incohérent lors de votre implémentation. Link to comment Share on other sites More sharing options...
romelik Posted November 7, 2014 Author Share Posted November 7, 2014 Bon et bien je remercie grandement Julien et Martin pour leur précieuse aide ... c'est vraiment tiptop ...Exactement ce que je cherchais à faire depuis quelques temps ... Encore un grand merci à vous 2!!! Bonne fin de journée ... Link to comment Share on other sites More sharing options...
Martin Uker K Posted November 7, 2014 Share Posted November 7, 2014 Ce fut un plaisir, Écrivez le "fil de discussion" comme RÉSOLU dans le titre. Martin Link to comment Share on other sites More sharing options...
romelik Posted November 7, 2014 Author Share Posted November 7, 2014 Oups !!! Effectivement j'ai oublié cela ! Link to comment Share on other sites More sharing options...
Agostini Julien Posted November 7, 2014 Share Posted November 7, 2014 Enjoy Link to comment Share on other sites More sharing options...
romelik Posted November 7, 2014 Author Share Posted November 7, 2014 (edited) Bon ben désolé je n'arrive pas à le mettre en résolu /// J'ai cliquez sur Mark Solved mais je vois pas de changement ... j'ai édité mon premier post mais je n'ai pas accès au titre ...donc je ne sais pas trop ... Ca y est j'y suis parvenu!!! Edited November 12, 2014 by romelik (see edit history) Link to comment Share on other sites More sharing options...
steph2i Posted April 8, 2015 Share Posted April 8, 2015 Bonjour. Une petite quesiton, je suis sous PS 1.6, la solution fonctionne parfaitement merci à tous. Cependant, si il n'y a qu'une caractérisque et que c'est justement elle que l'on souhaite cacher, l'onglet "Fiche technique" reste présent. Y'a t'il une possibilité de le cacher dans ce cas ? Link to comment Share on other sites More sharing options...
romelik Posted April 8, 2015 Author Share Posted April 8, 2015 Bonjour Une petite règle CSS display:none bien placée dans le product.tpl devrait je penses faire l'affaire: Dans la section ----Data Sheet --- Modifier: <section class="page-product-box" style="margin-bottom: inherit"> Par <section class="page-product-box" style="margin-bottom: inherit; display:none"> Link to comment Share on other sites More sharing options...
quadricolore Posted March 26, 2018 Share Posted March 26, 2018 Bonjour, cette fonctionnalité marche très bien pour moi. Seulement je voudrais que cette caractéristique soit affichée si les personnes sont connectées sur leur compte client. Quelqu'un aurait il une idée ? Avec un If logged j'imagine mais je ne sais pas comment le faire. Merci de votre aide ! Link to comment Share on other sites More sharing options...
Manu-41 Posted September 13, 2019 Share Posted September 13, 2019 Bonjour, je voudrais cacher 3 caractéristique, j'ai donc testé avec: {foreach from=$features item=feature} {if $feature.id_feature != 33 && $feature.id_feature != 34 && $feature.id_feature != 35} <tr class="{cycle values="odd,even"}"> {if isset($feature.value)} <td>{$feature.name|escape:'html':'UTF-8'}:</td> <td>{$feature.value|escape:'html':'UTF-8'}</td> {/if} </tr> {/if} {/foreach} mais elle apparaissent toujours. presta 1.6.1 Une piste? merci Link to comment Share on other sites More sharing options...
romelik Posted September 13, 2019 Author Share Posted September 13, 2019 Bonjour Peut être vider le cache de prestashop et le cache du navigateur... ou en navigation privée... Link to comment Share on other sites More sharing options...
Manu-41 Posted September 13, 2019 Share Posted September 13, 2019 déjà fait, mais rien ne change. Link to comment Share on other sites More sharing options...
romelik Posted September 13, 2019 Author Share Posted September 13, 2019 je ne connais pas ton niveau donc peut être que mes questions ne vont pas te paraître opportune... mais tu es sûr d'être dans le bon fichier... le product.tpl de ton thème si tu n'utilise pas le thème de prestashop Link to comment Share on other sites More sharing options...
Manu-41 Posted September 13, 2019 Share Posted September 13, 2019 oui, je cherche pourquoi ca reste affichés. Link to comment Share on other sites More sharing options...
romelik Posted September 13, 2019 Author Share Posted September 13, 2019 (edited) Dans paramètres avancées ->performance-> tu as bien coché " Recompiler les fichiers de templates s'ils ont été mis à jour" Edited September 13, 2019 by romelik (see edit history) Link to comment Share on other sites More sharing options...
Manu-41 Posted September 17, 2019 Share Posted September 17, 2019 J'ai trouvé, je suis passé par le nom de la caractéristique au lieu de l'id. Ca fonctionne. Merci Link to comment Share on other sites More sharing options...
Matt67520 Posted January 25, 2020 Share Posted January 25, 2020 Pour les personnes sous PS 1.7, j'ai fais la manip avec quel fichier qui ne sont pas les même. voilà ce que j'ai fais (est qui fonctionne !) · Chercher le fichier suivant : /……/themes/VOTRETHEME/templates/catalog/_partials/ product-details.tpl · Aller ligne 53 chercher : {block name='product_features'} · Rajouter : {if $feature.id_feature != 13} (si c’est l’ID 13 que vous voulez masquer) en ligne 59 · Rajouter : {/if} en ligne 52 {block name='product_features'} {if $product.grouped_features} <section class="product-features"> <p class="h6">{l s='Data sheet' d='Shop.Theme.Catalog'}</p> <dl class="data-sheet"> {foreach from=$product.grouped_features item=feature} {if $feature.id_feature != 13} <dt class="name">{$feature.name}</dt> <dd class="value">{$feature.value|escape:'htmlall'|nl2br nofilter}</dd> {/if} {/foreach} </dl> </section> {/if} {/block} Voilà, marche a merveille chez moi. (avec PS 1.7.6.2) 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