imagineinspire Posted October 24, 2013 Share Posted October 24, 2013 (edited) Bonjour à tous , récemment je développe une boutique en ligne , j'ai plusieurs emplacement sur différents entrepôts, je souhaiterai afficher sur le bon de livraison le champs indiqué dans Produits -> entrepôt -> emplacement . j'ai pu afficher le nom de l'entrepôt mais pas l'emplacement qui se trouve lui dans l'entrepôt ... SVP si quelqu'un pourrait m'aider, je suis un peu perdu parce que j'y travaille depuis plus de 2 semaines ... Merci !!!! Petite précision , je suis sur la version Prestashop 1.5.5.0 Edited October 25, 2013 by imagineinspire (see edit history) Link to comment Share on other sites More sharing options...
math_php Posted October 25, 2013 Share Posted October 25, 2013 Bonjour, Et merci, je ne savais pas qu'il y avait une gestion possible des entrepots dans Prestashop Pour l'emplacement je crois qu'il faut utiliser $emplacement = Wharehouse::getProductLocation($id_product, $id_product_attribute, $id_warehouse) /** * For a given {product, product attribute} gets its location in the given warehouse * * @param int $id_product ID of the product * @param int $id_product_attribute Use 0 if this product does not have attributes * @param int $id_warehouse ID of the warehouse * @return string Location of the product */ public static function getProductLocation($id_product, $id_product_attribute, $id_warehouse) { Cordialement Link to comment Share on other sites More sharing options...
imagineinspire Posted October 25, 2013 Author Share Posted October 25, 2013 Re Bonjour math_php, C'est possible de rentrer l'emplacement de l'article dans " Catalogue -> Produits -> modifier -> Entrepôt -> Emplacement (optionel) " , mais le problème c'est que je suis pas arrivé à récupérer la valeur introduite dans le champ . J'ai déjà essayé avec cette méthode " getProductLocation() " , elle me retourne le nom de l'entrepôt et non pas l'emplacement . Merci ! Link to comment Share on other sites More sharing options...
math_php Posted October 25, 2013 Share Posted October 25, 2013 En mettant 0 pour id_product_attribute ça marche pas ? 1 Link to comment Share on other sites More sharing options...
imagineinspire Posted October 25, 2013 Author Share Posted October 25, 2013 (edited) J'ai fais ça : $emplacement = Warehouse::getProductLocation($product.id_product,0,$product.id_warehouse) ça ne retourne absolument rien ... j'utilise getWarehouseNameById($product.id_warehouse) pour savoir si ça marche , c'est nikel , ça me retourne le nom de l'entrepôt ÇA MARCHE !!! Enfait , j'ai pas fais d'emplacement pour les anciens bon de livraison ... donc j'ai généré un nouveau et ça marche Très bien avec " id_product_attribute = 0 " Merci beaucoup Math_PHP , après tout le temps que j'ai passé ... Merci ! Edited October 25, 2013 by imagineinspire (see edit history) Link to comment Share on other sites More sharing options...
math_php Posted October 25, 2013 Share Posted October 25, 2013 Des fois juste en discutant et en proposant des choses déjà testés ça se débloque Bon developpement 1 Link to comment Share on other sites More sharing options...
imagineinspire Posted October 25, 2013 Author Share Posted October 25, 2013 Des fois juste en discutant et en proposant des choses déjà testés ça se débloque Bon developpement C'est ça qu'on peut appeler une communauté , en tout cas je suis très content de la rapidité de réaction face aux problèmes chez Prestashop ... Merci encore une fois math_php Link to comment Share on other sites More sharing options...
imagineinspire Posted October 28, 2013 Author Share Posted October 28, 2013 (edited) Re Salut math_php, Je suis un peu perdu par rapport à ça, j'ai une boutique de vêtements, et l'emplacement marche seulement sur les articles où il n'y a pas de tailles , quand il y a des tailles , l'emplacement dans l'entrepôt ne s'affiche pas sur le bon de livraison ... pour ceux qui rencontrerons le problème, voici ce que j'ai fais : dans classes/pdf/HTMLTemplateDeliverySlip.php Ligne 70 : changer 'order_details' => $this->order_invoice->getProducts(), par : 'order_details' => $order_details, Ensuite il va falloir ajouter au-dessus de $carrier = new Carrier($this->order->id_carrier); Le code suivant : $order_details = $this->order_invoice->getProducts(); foreach ($order_details as $key => $order_detail) { $order_details[$key]['warehouse_name'] = "--"; $order_details[$key]['warehouse_location'] = "--"; if ($order_detail['id_warehouse'] != 0) { $warehouse = new Warehouse((int)$order_detail['id_warehouse']); $warehouse_location = $warehouse->getProductLocation($order_detail["product_id"],$order_detail["product_attribute_id"],$warehouse->id); $order_details[$key]['warehouse_name'] = $warehouse->name; $order_details[$key]['warehouse_location'] = $warehouse_location; } } sur le ./pdf/delivery-slip.tpl vous pouvez accéder à la variable en ajoutant $product.warehouse_location . Voilà ! ( référence ici : http://www.prestashop.com/forums/topic/203840-warehouse-location-into-delivery-slip/ ) Edited October 28, 2013 by imagineinspire (see edit history) 1 Link to comment Share on other sites More sharing options...
math_php Posted October 28, 2013 Share Posted October 28, 2013 Bonjour ImagineInspire, Je pencherai pour un problème d' id_attribute. 1 Link to comment Share on other sites More sharing options...
imagineinspire Posted October 28, 2013 Author Share Posted October 28, 2013 Bonjour ImagineInspire, Je pencherai pour un problème d' id_attribute. c'est ça, j'y accède depuis le HTMLTemplateDeliverySlip.php maintenant et ça marche très bien ! ... En tout cas, c'est grâce à toi que j'ai pu m'orienter . Merci encore une fois ! 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