DongKoo Posted May 10, 2022 Share Posted May 10, 2022 Bonjour, J'affiche le délai de livraison dans les miniatures du \templates\catalog\_partials\miniatures\product.tpl qui s'affiche très bien sur la page d'accueil des produits à la une ou sur le listing des produits par catégorie etc..., en insérant ce code à l'emplacement désiré : {$product.delivery_in_stock} il s’affiche d'ailleurs très bien sur la page produit également. Mais contrairement à la page d'accueil et aux pages de catégories, l'information ne s'affiche pas dans les miniature des produits associés sous la page produit. Hors l'affichage est géré par le même tpl que pour les autres pages. Savez-vous pourquoi il ne s'affiche pas ? Est-ce un conflit entre l'appel de la donnée pour le produit affiché et l'appel de la donnée pour les produits associés ? Comment résoudre ce problème ? Merci de votre aide. Link to comment Share on other sites More sharing options...
JulienPct Posted May 11, 2022 Share Posted May 11, 2022 Bonjour, Pourriez-vous envoyer le code que vous avez au niveau du block "{block name='product_footer'}" dans votre fichier "/templates/catalog/product.tpl" ? Link to comment Share on other sites More sharing options...
DongKoo Posted May 11, 2022 Author Share Posted May 11, 2022 Voici le code mais il n'y a rien dans ce block {block name='product_accessories'} {if $accessories} <section class="product-accessories clearfix"> <h2>{l s='You might also like' d='Shop.Theme.Catalog'}</h2> <div class="products row"> {foreach from=$accessories item="product_accessory" key="position"} {block name='product_miniature'} {include file='catalog/_partials/miniatures/product.tpl' product=$product_accessory position=$position productClasses="col-xs-6 col-lg-4 col-xl-3"} {/block} {/foreach} </div> </section> {/if} {/block} {block name='product_footer'} {hook h='displayFooterProduct' product=$product category=$category} {/block} la variable {$product.delivery_in_stock} se trouve dans {include file='catalog/_partials/miniatures/product.tpl' product=$product_accessory position=$position productClasses="col-xs-6 col-lg-4 col-xl-3"} Link to comment Share on other sites More sharing options...
JulienPct Posted May 11, 2022 Share Posted May 11, 2022 (edited) 1 hour ago, DongKoo said: la variable {$product.delivery_in_stock} se trouve dans On est d'accord que vous avez "Null" quand vous afficher la valeur de votre donnée de stock dans vos miniatures d'accessoires ? Edited May 11, 2022 by JulienPct (see edit history) Link to comment Share on other sites More sharing options...
DongKoo Posted May 11, 2022 Author Share Posted May 11, 2022 il n'y a rien qui s'affiche pourtant {$product.delivery_in_stock} affiche bien la valeur dans les miniatures quand on est sur la home (produit à la une) ou sur les pages de catégories. Ces 2 affichages utilisent le même tpl que les miniatures des produits associés. Pour être clair : Home > Miniature Produit A > affichage du délai ok Catégorie > Miniature Produit A > affichage du délai ok Produit B > Miniature Produit A en associé > affichage du délai vide Link to comment Share on other sites More sharing options...
Mediacom87 Posted May 11, 2022 Share Posted May 11, 2022 et si vous testez avec {$product->delivery_in_stock} Link to comment Share on other sites More sharing options...
DongKoo Posted May 11, 2022 Author Share Posted May 11, 2022 50 minutes ago, Mediacom87 said: et si vous testez avec {$product->delivery_in_stock} C'est le même comportement. Link to comment Share on other sites More sharing options...
JulienPct Posted May 12, 2022 Share Posted May 12, 2022 Est-ce que, dans votre TPL au niveau du block qui include vos accessoires comme cité au dessus, vous avez la valeur "delivery_in_stock" dans la variable "$product_accessory" ? En gros est-ce qu'il existe quelques chose du genre : {$product_accessory.delivery_in_stock} ou {$product_accessory->delivery_in_stock} juste avant cette ligne "{include file='catalog/_partials/miniatures/product.tpl' product=$product_accessory position=$position productClasses="col-xs-6 col-lg-4 col-xl-3"}" Link to comment Share on other sites More sharing options...
DongKoo Posted May 12, 2022 Author Share Posted May 12, 2022 @JulienPct non il n'existe pas de variables. C'est le tpl de base de prestashop v1.7.8.4 avec juste des modifications d'affichage (style+class) et ajout de l'appel {$product->delivery_in_stock} Ce que je ne comprends pas, c'est pourquoi la valeur s'affiche sur les autres pages mais pas dans le bloc produits associés alors qu'ils partagent tous le même tpl. Link to comment Share on other sites More sharing options...
Mediacom87 Posted May 12, 2022 Share Posted May 12, 2022 La page produit : /themes/classic/templates/catalog/product.tpl Link to comment Share on other sites More sharing options...
JulienPct Posted May 12, 2022 Share Posted May 12, 2022 (edited) Le même TPL est appelé certes mais les informations envoyées à ce dernier ne sont pas forcement les mêmes. Dans le cas de votre page produit, la variable envoyée est "$product_accessory" mais rien ne dis que CETTE variable de CE TPL possède les mêmes valeurs que CETTE variable d'un AUTRE TPL. Ce ne sont que des suppositions mais c'est à vérifier. Si vous ne possédez pas la valeur de votre stock dans votre fiche produit, alors vous ne l'aurez pas pour tout les TPL inclus Edited May 12, 2022 by JulienPct (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted May 12, 2022 Share Posted May 12, 2022 il y a 27 minutes, JulienPct a dit : Le même TPL est appelé non, ce n'est pas le même tpl. Link to comment Share on other sites More sharing options...
JulienPct Posted May 12, 2022 Share Posted May 12, 2022 13 minutes ago, Mediacom87 said: non, ce n'est pas le même tpl. Quoi qu'il arrive les miniatures produits sont toutes dans le TPL dans "miniatures/product" non ? Link to comment Share on other sites More sharing options...
Mediacom87 Posted May 12, 2022 Share Posted May 12, 2022 à l’instant, JulienPct a dit : Quoi qu'il arrive les miniatures produits sont toutes dans le TPL dans "miniatures/product" non ? les miniatures oui, mais la page produit en elle même est différente. Pfff, je viens de relire la question et je viens de comprendre. Les miniatures utilisent le même template mais par contre, comme ici on parle de modules qui affiche la liste de produits il est fort probable que les données transmises ne soient pas les même. Il faut plonger dans les code de chaque module pour s'en rendre compte, c'est une des aberrations de PrestaShop dans la manière dont furent codés certains modules natifs avec la 1.7 on a une inconsistance de données presque sur chaque module. Link to comment Share on other sites More sharing options...
DongKoo Posted May 12, 2022 Author Share Posted May 12, 2022 Merci à vous pour votre aide. Je comprends mieux pourquoi le comportement est différent. Et oui, c'est une aberration totale ! Link to comment Share on other sites More sharing options...
DongKoo Posted May 12, 2022 Author Share Posted May 12, 2022 j'ai posté une demande sur le git... wait&see mais d'après ce que dit @JulienPct il faudrait ajouter l'appel de la donnée dans le php du module ! Link to comment Share on other sites More sharing options...
Mediacom87 Posted May 12, 2022 Share Posted May 12, 2022 Après attention, vous récupérez un texte qui est fixe et donc que le produit soit livrable ou pas en stock ou pas cette variable sera toujours le même texte. En vrai pour afficher le bon texte il faut coder un poil plus. 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