Jump to content

P1.7 Afficher le délai de livraison dans l minitaure des produits associés sur la page produit


Recommended Posts

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

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

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

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

@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

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 by JulienPct (see edit history)
Link to comment
Share on other sites

à 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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...