Sapher Posted April 14, 2009 Share Posted April 14, 2009 Bonjour j'aurais besoin d'un peu d'aide d'un dev pour mon problème.Prestashop permet de rendre les frais de ports gratuits à partir d'un certain montant et/ou d'un certain poids de la commande. Je souhaite utiliser cette fonctionnalité mais en la compliquant un petit peu.En effet, grossièrement, ma boutique vend 2 sortes de produits; les premiers sont assez petits et peu chers, les seconds nettement plus volumineux et donc plus chers. Au niveau des frais de ports, il y a une grosse différence de cout, les gros produits nécéssitant un emballage comparable aux frais de manutention de prestashop alors que les petits non.Je voudrais, dans le cas d'une commande ne contenant que des "petits produits" autoriser la gratuitée des frais de ports pour un certain montant. Si la commande contient un ou plusieurs gros produits pas de gratuitée des frais de ports.J'ai cherché dans le fichier order.php et dans les classes Cart et Product et ai rajouté la fonction suivante dans la classe Cart : public function hasToile() { $hasToile = false; $products = $this->getProducts(); //print_r(array_count_values($products)); // Affiche le contenu du tableau : le tableau est vide foreach ($products AS $product) { //echo '$product->id_category_default = ' . $product->id_category_default; // N'affiche rien à la place de la variable if (intval($product->id_category_default) == 8) { $hasToile = true; break; } } return $hasToile; } Les 2 lignes commentées sont les test que j'ai effectués pour comprendre pourquoi ça ne marche pas.L'appel à la fonction se fait dans order.php dans la fonction displaySummary() : if ($free_ship = intval(Configuration::get('PS_SHIPPING_FREE_PRICE')) && !$cart->hasToile()) { $discounts = $cart->getDiscounts(); $total_free_ship = $free_ship - ($summary['total_products_wt'] + $summary['total_discounts']); foreach ($discounts as $discount) if ($discount['id_discount_type'] == 3) { $total_free_ship = 0; break ; } $smarty->assign('free_ship', $total_free_ship); } Voilà donc le problème c'est que le tableau est vide. Je ne comprend pas pourquoi (le panier courant n'est pas vide).Je continue a plancher dessus mais tout(e) conseil/remarque/suggestion est le(la) bienvenue.merci d'avanceSapher Link to comment Share on other sites More sharing options...
Sapher Posted April 14, 2009 Author Share Posted April 14, 2009 Bon j'arrive à reconnaitre les gros produits mais ça ne fonctionne toujours pas...Je ne serais pas au bon endroit ? Dans ce cas a quoi sert ce morceau de code ??Je ne comprend plus rien... Mais je me souviens avoir déjà eu le tour avec l'ordre des catégories...Est ce que quelqu'un sait où il faut agir ? Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now