Voici une astuce qui à pour simple but, au moyen d’une fonction à ajouter à Prestashop, de récupérer le plus petit prix d’une catégorie.
Très utile pour afficher avec la description de la catégorie, une phrase commerciale du type : « A partir de 49€ »
1. On crée la fonction
Il faut pour cela créer un fichier appelé « Product.php » et le placer dans » override>classes » (Prestashop 1.4)
Voici le contenu de ce fichier :
[php]
class Product extends ProductCore
{
public function getMinPriceCategory($id_category)
{
$id_category = Tools::getValue(‘id_category’);
$sql =’
SELECT `min(price)` as prixbas
FROM `’._DB_PREFIX_.’product` p
WHERE p.id_category_default = "’.$id_category.’"’;
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($sql);
return (int)($result[‘prixbas’]);
}
}
[/php]
2.On déclare la variable
Créez un fichier appelé « CategoryController.php » dans le repertoire « override>controllers »
En voici le contenu
[php]
class CategoryController extends CategoryControllerCore
{
self::$smarty->assign(
‘prixbas’ => Product::getMinPriceCategory($id_category) );
}
[/php]
3. Il vous suffit ensuite d’appeler la vaiable dans votre tpl (category.tpl est bien adapté)
[html]{l s=’A partir de ‘}{convertPrice price=$prixbas}[/html]
Voilà vous avez votre appel commercial.