Jump to content

[Résolu] Comment afficher la date de livraison dans les catégories ?


Recommended Posts

Bonjour à la communauté,

 

Tout d'abord, je vous souhaite une bonne année !

 

Ensuite, j'expose ma demande : je souhaite afficher la date de livraison du produit dans la liste des produits affichée dans mes catégories.

 

J'ai récupéré dans product.tpl le code suivant qui sert à afficher la date de livraison :

<!-- availability -->
  <p id="availability_statut"{if ($product->quantity <= 0 && !$product->available_later && $allow_oosp) OR ($product->quantity > 0 && !$product->available_now) OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}>
<span id="availability_label">{l s='Availability:'}</span>
<span id="availability_value"
{if $product->quantity <= 0} class="warning_inline"{/if}>
{if $product->quantity <= 0}{if $allow_oosp}{$product->available_later}{else}{l s='This product is no longer in stock'}{/if}{else}{$product->available_now}{/if}
</span>
  </p>

 

Et l'ai ajouté dans product-list.tpl à l'endroit où je veux l'afficher.

 

Evidemment, si j'écris ce post, c'est que ça n'a pas fonctionné et après quelques recherches infructueuses, me voici !

 

 

Merci de votre aide

 

Config : Prestashop 1.5.3.1, en local sur serveur MAMP Pro

Edited by Oneday (see edit history)
Link to comment
Share on other sites

Je suis toujours intéressé par les requêtes me faisant explorer le code, surtout quand j'ai un point de départ comme là...

 

Bon, j'ai jeté un coup d'œil au code et à l'interface, sur ma version 1.5.3.1.

Au niveau produit, onglet Quantité, effectivement on peut mettre une date de disponibilité. Mais le template ne l'affiche pas s'il y a des produits signalés en stock, même si la date est dans le futur. Pas terrible, on peut avoir les produits mais retarder leur mise en vente pour un évènement, par exemple...

Bref, j'ai réduit la quantité à zéro, et il m'affiche, non pas la date de disponibilité, mais un message par défaut, "Ce produit n'est plus en stock".

 

Ce qui est confirmé par le bout de code que tu montres... Il n'est pas censé afficher une quelconque date.

 

À noter que je parle ici de date de disponibilité, pas de date de livraison, j'espère qu'on parle de la même chose...

 

Il faut afficher la variable $product.available_date dans ce template, je pense. Peut-être en ajoutant quelques conditions, comme dans le code que tu montres (mais, semble-t-il, en utilisant $product. au lieur de $product->).

 

Link to comment
Share on other sites

Merci, tu m'as mis sur la piste.

Voici comment j'ai affiché la date de livraison dans la liste des produits :

 

{if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}<span class="availability">{if ($product.allow_oosp || $product.quantity > 0)}{l s='Available'}{$product.available_now}{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}{l s='Product available with different options'}{else}{l s='Out of stock'}{/if}</span>{/if}

 

C'est ce bout de code qui est inséré dans celui du dessus qui le permet :

{$product.available_now}

 

@+ les gens

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...