Panier Panier 0 Produit Produits (vide)

Aucun produit

Total produits HT
À définir Total frais de port HT
0,00 € Total HT
TVA
Total TTC

Commander

Produit ajouté au panier avec succès
Quantité
Total
Il y a 0 produits dans votre panier. Il y a 1 produit dans votre panier.
Total produits (HT)
Frais de port (HT) À définir
Total (HT)
TVA :
Total (TTC) :
Continuer mes achats Commander

Masquer les promotions non attribuées au groupe de client

Si dans votre démarche marketing, vous souhaitez afficher les promotions par groupe de clients (du reste l'utilité d'afficher des produits en promotions pour un client qui n'en bénéfice pas, revêt peu d'intérêt), vous trouverez ci-dessous une solution.

Celle-ci passe par l'override. Vous devrez donc surcharger la fonction getProductIdByDate de la classe SpecificPrice.

Le chemin se veut donc être votre_dossier_prestashop/override/classes/SpecificPrice.php

Il vous faudra placer le code ci-dessous entre les accolades :

	public static function getProductIdByDate($id_shop, $id_currency, $id_country, $id_group, $beginning, $ending, $id_customer = 0, $with_combination_id = false)
	{
		if (!SpecificPrice::isFeatureActive())
			return array();
			
		$groups = FrontController::getCurrentCustomerGroups();
		$sql_groups = (count($groups) ? 'IN ('.implode(',', $groups).')' : '= 0');			

		$results = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
			SELECT `id_product`, `id_product_attribute`
			FROM `'._DB_PREFIX_.'specific_price`
			WHERE	`id_shop` IN(0, '.(int)$id_shop.') AND
					`id_currency` IN(0, '.(int)$id_currency.') AND
					`id_country` IN(0, '.(int)$id_country.') AND
					`id_group` '.$sql_groups.' AND
					`id_customer` IN(0, '.(int)$id_customer.') AND
					`from_quantity` = 1 AND
					(
						(`from` = '0000-00-00 00:00:00' OR ''.pSQL($beginning).'' >= `from`)
						AND
						(`to` = '0000-00-00 00:00:00' OR ''.pSQL($ending).'' <= `to`)
					)
					AND
					`reduction` > 0
		');
		$ids_product = array();
		foreach ($results as $row)
			$ids_product[] = $with_combination_id ? array('id_product' => (int)$row['id_product'], 'id_product_attribute' => (int)$row['id_product_attribute']) : (int)$row['id_product'];
		return $ids_product;
	}

Publié le 16/12/2012 dans Astuces Prestashop version 1.5

COMMENTAIRES

Aucun commentaire pour le moment.

Ajouter un commentaire