2017-07-16 4 views
0

Prestashop 1.6 Nous avons établi des règles de panier pour les produits spécifiques, en ajoutant 3products, un autre 1 produit serait ajouté comme cadeau,Comment afficher ce produit a panier règle prestashop 1.6

Ceci est tout fonctionne bien sur le chariot page

mais comment afficher ceci sur cette page produit spécifique

$context::$this->$cart->$getCartRules(); 

ne pas montrer à la page du produit

Nous devons afficher panier RUL e sur le produit spécifique qui est avoir respecté les règles de panier,

ex. "buy this product and you will get xyz product for free" 

Répondre

1

je pense que u devez construire votre propre requête en sélectionnant les cart_rules avec votre identifiant gift_product que d'ingrédients actifs encore.

Ajouter une méthode statique dans CartRule (ou si u besoin) et faire appel à l'product.tpl directement et le montrer

ex: {CartRule::getGifts($product.id)} puis, de gérer le résultat

0

Générer une requête personnalisée pour la même:

$result = Db::getInstance()->executeS(' 
      SELECT *,rg.quantity as minimum_quantity FROM `'._DB_PREFIX_.'cart_rule_product_rule_value` cv 
       LEFT JOIN `'._DB_PREFIX_.'cart_rule_product_rule` pr ON cv.id_product_rule = pr.id_product_rule 
       LEFT JOIN `'._DB_PREFIX_.'cart_rule_product_rule_group` rg ON pr.id_product_rule_group = rg.id_product_rule_group 
       LEFT JOIN `'._DB_PREFIX_.'cart_rule` cr ON cr.id_cart_rule = rg.id_cart_rule 
       WHERE cv.id_item = '.$this->id_product.' AND cr.gift_product > 0 AND cr.date_to >= "'.date("Y-m-d H:i:s").'"' 
      ); 
0

Ma solution dans product.php

public function getRule($category = "0"){ 
    $rules = Db::getInstance()->executeS('SELECT *,rg.quantity as minimum_quantity FROM `'._DB_PREFIX_.'cart_rule_product_rule_value` cv 
      LEFT JOIN `'._DB_PREFIX_.'cart_rule_product_rule` pr ON cv.id_product_rule = pr.id_product_rule 
      LEFT JOIN `'._DB_PREFIX_.'cart_rule_product_rule_group` rg ON pr.id_product_rule_group = rg.id_product_rule_group 
      LEFT JOIN `'._DB_PREFIX_.'cart_rule` cr ON cr.id_cart_rule = rg.id_cart_rule 
      WHERE code = "" and ((cv.id_item = '.$this->id.' and type = "products") or (cv.id_item = '.$category.' and type = "categories")) AND cr.date_to >= "'.date("Y-m-d H:i:s").'"' 
    ); 
    return $rules; 
}