Jump to content

Afficher les disponibilité produits dans la liste des nouveaux produits


Recommended Posts

Bonjour a tous,

 

Ceci n'est pas une question, juste une trouvaille que je me permet de partager, car j'ai quand même cherché plusieurs heures avant de trouver.

 

A la base mon problème était que je pouvais afficher les disponibilité produit dans les liste de produit par catégorie et autre, sauf dans la page Nouveaux produit

 

Donc dans le fichier product-list.tpl du thème qui affiche les listes de produits dans les différentes pages du site.

 

j'y affichait donc les disponibilité de cette facon

{if $product.quantity == 0}
			 {if $product.allow_oosp}
				 {$product.available_later}
			    {else}
				 Stock épuisé
			    {/if}
		    {else}
			 {$product.available_now}
		    {/if}

 

Cependant, la page New-product.tpl donc les nouveaux produits, qui utilise donc ce tpl de product-list.tpl ne m'affichait pas les disponibilité car elle ne charge pas toute les info du produit.

 

Pour que cela fonctionne, il vous faut donc aller dans le fichier classes/Product.php

 

Dans mon cas c'était a la ligne 1998, il faut changer cette requete qui a l'origine était:

$sql = new DbQuery();
 $sql->select(
  'p.*, product_shop.*, stock.out_of_stock, IFNULL(stock.quantity, 0) as quantity, pl.`description`, pl.`description_short`, pl.`link_rewrite`, pl.`meta_description`,
  pl.`meta_keywords`, pl.`meta_title`, pl.`name`, MAX(image_shop.`id_image`) id_image, il.`legend`, m.`name` AS manufacturer_name,
  DATEDIFF(
   product_shop.`date_add`,
   DATE_SUB(
 NOW(),
 INTERVAL '.(Validate::isUnsignedInt(Configuration::get('PS_NB_DAYS_NEW_PRODUCT')) ? Configuration::get('PS_NB_DAYS_NEW_PRODUCT') : 20).' DAY
   )
  ) > 0 AS new'
 );

 

 

Pour devenir :

 

$sql = new DbQuery();
 $sql->select(
  'p.*, product_shop.*, stock.out_of_stock, IFNULL(stock.quantity, 0) as quantity, pl.`description`, pl.`description_short`, pl.`link_rewrite`, pl.`meta_description`,
  pl.`meta_keywords`, pl.`meta_title`, pl.`name`, MAX(image_shop.`id_image`) id_image, il.`legend`, m.`name` AS manufacturer_name, pl.`available_now`, pl.`available_later`,
  DATEDIFF(
   product_shop.`date_add`,
   DATE_SUB(
 NOW(),
 INTERVAL '.(Validate::isUnsignedInt(Configuration::get('PS_NB_DAYS_NEW_PRODUCT')) ? Configuration::get('PS_NB_DAYS_NEW_PRODUCT') : 20).' DAY
   )
  ) > 0 AS new'
 );

 

En bref ajout de pl.`available_now`, pl.`available_later`,

  • Like 1
Link to comment
Share on other sites

  • 10 months later...

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