Szed Posted July 22, 2013 Share Posted July 22, 2013 Hello, comme dis dans le titre, j'ai un petit bug tout bête sur une boutique. La seule note inscrite dans la commande en BackOffice, est le retour du paiement. Si le client laisse un message lié à la commande, ou si le marchant laisse une note, rien n’apparaît... Quelqu'un a t'il déjà eu ce problème ? Si non, vers quelle Classe ou Controller dois-je m'orienter (ça ne doit pas être méchant...) ? Merci ! Seb. Link to comment Share on other sites More sharing options...
indesign47 Posted July 26, 2013 Share Posted July 26, 2013 Classes : Message.php Controller : AdminCustomerThreadsController.php • les messages sont stockés dans la BD table ps_message • BO > Clients > SAV Link to comment Share on other sites More sharing options...
Szed Posted August 1, 2013 Author Share Posted August 1, 2013 Hello Merci, je vais y jeter un oeil ! Link to comment Share on other sites More sharing options...
PAC6230 Posted August 2, 2013 Share Posted August 2, 2013 Salut, J'ai une question à se sujet, comment procéder pour faire apparaître les messages concernant une commande, dans la vue de la cette commande, au lieu dans la SAV? De cette manière, on a une vue total des informations concernant une commande, lorsque l'on se trouve sur la fiche de la commande. A+ Link to comment Share on other sites More sharing options...
indesign47 Posted August 2, 2013 Share Posted August 2, 2013 De cette manière, on a une vue total des informations concernant une commande, lorsque l'on se trouve sur la fiche de la commande. Absolument d'accord et nécessaire. J'avais aussi noté cette "lacune" de PS. Link to comment Share on other sites More sharing options...
Julie S. Posted August 2, 2013 Share Posted August 2, 2013 Bonjour, Vous êtes dans la partie "rapport de bugs" Ce forum est important pour faciliter le travail des développeurs qui tentent de corriger les bugs, merci donc de lire ses règles : http://www.prestashop.com/forums/topic/24670-lire-ceci-avant-de-poster-dans-ce-forum/ PAC6230 >> un sujet par problème/idée/ Je déplace votre sujet, Merci Link to comment Share on other sites More sharing options...
Firestarter Posted September 2, 2013 Share Posted September 2, 2013 Bonjour, j'ai le même problème et je ne trouve pas la solution. Je ne sais pas si c'est un bug ou un problème de configuration, mais dans ma version 1.4.7 je voyais ces messages/notes dans la commande et plus maintenant (Version 1.5.4). Szed, tu as trouvé une solution ? Merci et à bientôt. Romain Link to comment Share on other sites More sharing options...
lhymn Posted January 10, 2014 Share Posted January 10, 2014 Bonjour quelqu'un a une solution pour que les message mis sur un client en privé soit afficher sur les commandes de celui ci ? Link to comment Share on other sites More sharing options...
semor Posted January 10, 2014 Share Posted January 10, 2014 (edited) Pour Firestarter , je joint un fichier à mettre en Override dans le dossier classes. Pense à rafraichir ton cache Et aussi pour Ihymn, ça devrait t'interesser ! Message.php Edited January 10, 2014 by semor (see edit history) Link to comment Share on other sites More sharing options...
lhymn Posted January 10, 2014 Share Posted January 10, 2014 Super merci cela marche bien Juste un truc cela n'affiche que les message en SAV mais y a t'il possibilité que cela affiche aussi les notes d'information de la fiche client ? et surtout est ce que c'est possible que ces message s'affiche en haut de la commande juste en dessous de la partie Informations client Merci encore en tour cas Link to comment Share on other sites More sharing options...
semor Posted January 10, 2014 Share Posted January 10, 2014 Pour que ça s'affiche en dessous, à toi de modifier l'architecture du back office ( Je te le déconseille si tu ne t'y connais pas ) Pour les notes d'informations c'est à dire ? Link to comment Share on other sites More sharing options...
lhymn Posted January 10, 2014 Share Posted January 10, 2014 Oki je vais pas m'y aventuré alors ... Notes d'information ce sont les commentaire que tu écrit quand tu ouvre la fiche du client Menu clients clients tu clique sur un client cela ouvre la fiche client et la tu peux mettre une note privée Ajoutez une note privée Voila j'espere avoir été clair sinon dit moi Link to comment Share on other sites More sharing options...
semor Posted January 10, 2014 Share Posted January 10, 2014 Je vois ce que tu veux dire, je vais rechercher ça si j'ai le temps cette après midi Link to comment Share on other sites More sharing options...
lhymn Posted January 10, 2014 Share Posted January 10, 2014 Super merci Link to comment Share on other sites More sharing options...
semor Posted January 10, 2014 Share Posted January 10, 2014 (edited) Déjà premier point, il y as un module (pas cher) qui fait ce que tu veux : http://boutique.weacms.com/fr/home/11-notty-note-sur-backoffice-prestashop.html Un autre qui est ce que tu veux également (mais plus cher) : http://addons.prestashop.com/en/administration-tools-prestashop-modules/8641-private-customer-notes-on-order-page.html Et pour gratuitement si tu bidouille un peu y a ca : http://www.prestashop.com/forums/topic/237079-how-to-display-customer-private-note-indicator-on-orders-tab/ Edited January 10, 2014 by semor (see edit history) Link to comment Share on other sites More sharing options...
lhymn Posted January 10, 2014 Share Posted January 10, 2014 C'est pas exactement ce que je veux pour le premier module car je ne veux pas communiqué avec d'autre employé je voudrais juste que la note caché sur un client apparaisse sur toutes ces commandes afin de faire un historique sur les problème ou autre information utile sur le client Voila Pour le deuxième vue qu'il n'est pas en français cela ne poserai pas de problème si je l'installe ? de plus il indique 1.5.5 alors que je suis sur la version 1.5.6.1 donc je ne sais pas si il fonctionne Merci pour vos aides Link to comment Share on other sites More sharing options...
semor Posted January 10, 2014 Share Posted January 10, 2014 Normalement aucun soucis lors de l'installation, le plus simple c'est que tu contacte le développeur. Et puis sinon, il y a le troisieme point, l'avantage c'est que tu peut tester sans soucis (enfin pense à faire une sauvegarde des fichiers que tu modifie quand meme) Link to comment Share on other sites More sharing options...
lhymn Posted January 10, 2014 Share Posted January 10, 2014 Lol je n'avais pas vue le 3 eme point Je vais regardé tous ceci et reviens vers vous pour vous donnée le résultat Merci d'avance Link to comment Share on other sites More sharing options...
semor Posted January 10, 2014 Share Posted January 10, 2014 (edited) Je suis en train de tester le 3 eme point de mon coté Alors on s'en rapproche grandement, en fait dans le lien que je t'ai laissé, soit tu l'affiche sur la liste des commandes, soit sur la fiche client. Je cherche à le mettre sur la commande, ça devrait pas être loin Edited January 10, 2014 by semor (see edit history) Link to comment Share on other sites More sharing options...
lhymn Posted January 10, 2014 Share Posted January 10, 2014 Ha cool donc avant de me lancé j'attend ton résultat a mon avis tu es meilleur que moi la dessus donc .... Link to comment Share on other sites More sharing options...
semor Posted January 10, 2014 Share Posted January 10, 2014 (edited) C'est en tout cas à renseigner la dedans (dans le fichier AdminOrdersController.php), public function renderView() { $order = new Order(Tools::getValue('id_order')); if (!Validate::isLoadedObject($order)) throw new PrestaShopException('object can\'t be loaded'); $customer = new Customer($order->id_customer); $carrier = new Carrier($order->id_carrier); $products = $this->getProducts($order); $currency = new Currency((int)$order->id_currency); // Carrier module call $carrier_module_call = null; if ($carrier->is_module) { $module = Module::getInstanceByName($carrier->external_module_name); if (method_exists($module, 'displayInfoByCart')) $carrier_module_call = call_user_func(array($module, 'displayInfoByCart'), $order->id_cart); } // Retrieve addresses information $addressInvoice = new Address($order->id_address_invoice, $this->context->language->id); if (Validate::isLoadedObject($addressInvoice) && $addressInvoice->id_state) $invoiceState = new State((int)$addressInvoice->id_state); if ($order->id_address_invoice == $order->id_address_delivery) { $addressDelivery = $addressInvoice; if (isset($invoiceState)) $deliveryState = $invoiceState; } else { $addressDelivery = new Address($order->id_address_delivery, $this->context->language->id); if (Validate::isLoadedObject($addressDelivery) && $addressDelivery->id_state) $deliveryState = new State((int)($addressDelivery->id_state)); } $this->toolbar_title = sprintf($this->l('Order #%1$d (%2$s) - %3$s %4$s'), $order->id, $order->reference, $customer->firstname, $customer->lastname); if (Shop::isFeatureActive()) { $shop = new Shop((int)$order->id_shop); $this->toolbar_title .= ' - '.sprintf($this->l('Shop: %s'), $shop->name); } // gets warehouses to ship products, if and only if advanced stock management is activated $warehouse_list = null; $order_details = $order->getOrderDetailList(); foreach ($order_details as $order_detail) { $product = new Product($order_detail['product_id']); if (Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') && $product->advanced_stock_management) { $warehouses = Warehouse::getWarehousesByProductId($order_detail['product_id'], $order_detail['product_attribute_id']); foreach ($warehouses as $warehouse) { if (!isset($warehouse_list[$warehouse['id_warehouse']])) $warehouse_list[$warehouse['id_warehouse']] = $warehouse; } } } $payment_methods = array(); foreach (PaymentModule::getInstalledPaymentModules() as $payment) { $module = Module::getInstanceByName($payment['name']); if (Validate::isLoadedObject($module) && $module->active) $payment_methods[] = $module->displayName; } // display warning if there are products out of stock $display_out_of_stock_warning = false; $current_order_state = $order->getCurrentOrderState(); if (!Validate::isLoadedObject($current_order_state) || ($current_order_state->delivery != 1 && $current_order_state->shipped != 1)) $display_out_of_stock_warning = true; // products current stock (from stock_available) foreach ($products as &$product) { $product['current_stock'] = StockAvailable::getQuantityAvailableByProduct($product['product_id'], $product['product_attribute_id'], $product['id_shop']); $resume = OrderSlip::getProductSlipResume($product['id_order_detail']); $product['quantity_refundable'] = $product['product_quantity'] - $resume['product_quantity']; $product['amount_refundable'] = $product['total_price_tax_incl'] - $resume['amount_tax_incl']; $product['amount_refund'] = Tools::displayPrice($resume['amount_tax_incl'], $currency); $product['refund_history'] = OrderSlip::getProductSlipDetail($product['id_order_detail']); $product['return_history'] = OrderReturn::getProductReturnDetail($product['id_order_detail']); // if the current stock requires a warning if ($product['current_stock'] == 0 && $display_out_of_stock_warning) $this->displayWarning($this->l('This product is out of stock: ').' '.$product['product_name']); } // Smarty assign $this->tpl_view_vars = array( 'order' => $order, 'cart' => new Cart($order->id_cart), 'customer' => $customer, 'customer_addresses' => $customer->getAddresses($this->context->language->id), 'addresses' => array( 'delivery' => $addressDelivery, 'deliveryState' => isset($deliveryState) ? $deliveryState : null, 'invoice' => $addressInvoice, 'invoiceState' => isset($invoiceState) ? $invoiceState : null ), 'customerStats' => $customer->getStats(), 'products' => $products, 'discounts' => $order->getCartRules(), 'orders_total_paid_tax_incl' => $order->getOrdersTotalPaid(), // Get the sum of total_paid_tax_incl of the order with similar reference 'total_paid' => $order->getTotalPaid(), 'returns' => OrderReturn::getOrdersReturn($order->id_customer, $order->id), 'customer_thread_message' => CustomerThread::getCustomerMessages($order->id_customer, 0), 'orderMessages' => OrderMessage::getOrderMessages($order->id_lang), 'messages' => Message::getMessagesByOrderId($order->id, true), 'carrier' => new Carrier($order->id_carrier), 'history' => $order->getHistory($this->context->language->id), 'states' => OrderState::getOrderStates($this->context->language->id), 'warehouse_list' => $warehouse_list, 'sources' => ConnectionsSource::getOrderSources($order->id), 'currentState' => $order->getCurrentOrderState(), 'currency' => new Currency($order->id_currency), 'currencies' => Currency::getCurrencies(), 'previousOrder' => $order->getPreviousOrderId(), 'nextOrder' => $order->getNextOrderId(), 'current_index' => self::$currentIndex, 'carrierModuleCall' => $carrier_module_call, 'iso_code_lang' => $this->context->language->iso_code, 'id_lang' => $this->context->language->id, 'can_edit' => ($this->tabAccess['edit'] == 1), 'current_id_lang' => $this->context->language->id, 'invoices_collection' => $order->getInvoicesCollection(), 'not_paid_invoices_collection' => $order->getNotPaidInvoicesCollection(), 'payment_methods' => $payment_methods, 'invoice_management_active' => Configuration::get('PS_INVOICE', null, null, $order->id_shop) ); return parent::renderView(); } Le fichier tpl qui correspond est à ce chemin themes/default/template/controllers/orders/helpers/view , mais la j'ai besoin d'aide Edited January 10, 2014 by semor (see edit history) Link to comment Share on other sites More sharing options...
semor Posted January 11, 2014 Share Posted January 11, 2014 (edited) Toujours dans le fichier view.tpl situé dans le chemin cité juste au dessus : {if $customer->id} <!-- Customer informations --> <br /> <fieldset> <legend><img src="../img/admin/tab-customers.gif" /> {l s='Customer information'}</legend> <span style="font-weight: bold; font-size: 14px;"><a href="?tab=AdminCustomers&id_customer={$customer->id}&viewcustomer&token={getAdminToken tab='AdminCustomers'}"> {$customer->firstname} {$customer->lastname}</a></span> ({l s='#'}{$customer->id})<br /> (<a href="mailto:{$customer->email}">{$customer->email}</a>)<br /><br /> {if ($customer->isGuest())} {l s='This order has been placed by a guest.'} {if (!Customer::customerExists($customer->email))} <form method="post" action="index.php?tab=AdminCustomers&id_customer={$customer->id}&token={getAdminToken tab='AdminCustomers'}"> <input type="hidden" name="id_lang" value="{$order->id_lang}" /> <p class="center"><input class="button" type="submit" name="submitGuestToCustomer" value="{l s='Transform a guest into a customer'}" /></p> {l s='This feature will generate a random password and send an email to the customer.'} </form> {else} <div><b style="color:red;">{l s='A registered customer account has already claimed this email address'}</b></div> {/if} {else} {l s='Account registered:'} <b>{dateFormat date=$customer->date_add full=true}</b><br /> {l s='Valid orders placed:'} <b>{$customerStats['nb_orders']}</b><br /> {l s='Total spent since registration:'} <b>{displayPrice price=Tools::ps_round(Tools::convertPrice($customerStats['total_orders'], $currency), 2) currency=$currency->id}</b><br /> </fieldset> {/if} {/if} Tu as normalement ça, c'est l'encart qui affiche l'information client sur la commande. A TESTER Cette modification : {if $customer->id} <!-- Customer informations --> <br /> <fieldset> <legend><img src="../img/admin/tab-customers.gif" /> {l s='Customer information'}</legend> <span style="font-weight: bold; font-size: 14px;"><a href="?tab=AdminCustomers&id_customer={$customer->id}&viewcustomer&token={getAdminToken tab='AdminCustomers'}"> {$customer->firstname} {$customer->lastname}</a></span> ({l s='#'}{$customer->id})<br /> (<a href="mailto:{$customer->email}">{$customer->email}</a>)<br /><br /> {if ($customer->isGuest())} {l s='This order has been placed by a guest.'} {if (!Customer::customerExists($customer->email))} <form method="post" action="index.php?tab=AdminCustomers&id_customer={$customer->id}&token={getAdminToken tab='AdminCustomers'}"> <input type="hidden" name="id_lang" value="{$order->id_lang}" /> <p class="center"><input class="button" type="submit" name="submitGuestToCustomer" value="{l s='Transform a guest into a customer'}" /></p> {l s='This feature will generate a random password and send an email to the customer.'} </form> {else} <div><b style="color:red;">{l s='A registered customer account has already claimed this email address'}</b></div> {/if} {else} {l s='Account registered:'} <b>{dateFormat date=$customer->date_add full=true}</b><br /> {l s='Valid orders placed:'} <b>{$customerStats['nb_orders']}</b><br /> {l s='Total spent since registration:'} <b>{displayPrice price=Tools::ps_round(Tools::convertPrice($customerStats['total_orders'], $currency), 2) currency=$currency->id}</b><br /> </fieldset> {/if} {if $customer->note} <br /> <fieldset> <legend><img src="../img/admin/tab-customers.gif" />Note Client</legend> <span style="font-weight: bold; font-size: 14px;">{$customer->note}</span> </fieldset> {/if} {/if} Edited January 11, 2014 by semor (see edit history) Link to comment Share on other sites More sharing options...
lhymn Posted January 12, 2014 Share Posted January 12, 2014 Super j'ai testé et cela fonction au top encore merci pour ton aide A bientôt Link to comment Share on other sites More sharing options...
semor Posted January 12, 2014 Share Posted January 12, 2014 Pense à mettre RESOLU dans le titre du topic alors Pas de soucis ! Link to comment Share on other sites More sharing options...
lhymn Posted January 12, 2014 Share Posted January 12, 2014 J'aimerai bien mais ce n'est pas moi qui est créée ce topic donc je ne pense pas pouvoir modifier le titre 1 Link to comment Share on other sites More sharing options...
Firestarter Posted January 13, 2014 Share Posted January 13, 2014 Super, merci beaucoup semor. Quand tu dis "fichier à mettre en Override dans le dossier classes.", ça veut dire quoi, remplacer le fichier message.php par le tien (j'obtiens une page blanche) ou coller le code dans le fichier en question à la suite ? Merci d'avance. Romain P.S: je suis en version 1.5.4. 1 Link to comment Share on other sites More sharing options...
semor Posted January 14, 2014 Share Posted January 14, 2014 J'aimerai bien mais ce n'est pas moi qui est créée ce topic donc je ne pense pas pouvoir modifier le titre Ah oui mince, je n'avais pas fait attention à ça .. Super, merci beaucoup semor. Quand tu dis "fichier à mettre en Override dans le dossier classes.", ça veut dire quoi, remplacer le fichier message.php par le tien (j'obtiens une page blanche) ou coller le code dans le fichier en question à la suite ? Merci d'avance. Romain P.S: je suis en version 1.5.4. Désolé de ne pas avoir répondu plus tot, tu cherche simplement à avoir les messages client dans la commande ? Pour l'override, le fichier est à placer dans le dossier Override/Controllers/Classes comme j'ai du l'indiqué (sinon autant pour moi) et je t'invite à lire la documentation prestashop pour plus d'informations quand à l'utilisation de Prestashop http://doc.prestashop.com/display/PS14/Surcharge+et+override Link to comment Share on other sites More sharing options...
Firestarter Posted January 14, 2014 Share Posted January 14, 2014 Merci, je ne connaissais pas l'override. J'ai donc mis le fichier dans override/classes et ça marche ! (pas dans le dossier controllers. Je devrai ?) Comment ça se fait que par défaut ça ne s'affichait pas ? Dans tous les cas, merci bien, ça fait un moment que je cherchais. 1 Link to comment Share on other sites More sharing options...
semor Posted January 15, 2014 Share Posted January 15, 2014 Tu l'as mis dans le bon dossier, c'est déjà ça Ensuite tu dois vider ton cache smarty (comme à chaque manipulation de prestashop dans le cadre d'un dév, enfin la plupart du temps, mais la faut le faire ) Et normalement dans chaque commande tu devrais voir les messages ! Link to comment Share on other sites More sharing options...
clem974 Posted January 26, 2022 Share Posted January 26, 2022 Bonjour Semor Tout d'abord bonne année 2022! j'ai ce souci sur la version 1.7 la note du client n'apparait nulle part, merci m'aiguiller sur l'ajout de code à insérer. rien trouvé à part de poste de 2014. Merci d'avance Cordialement Link to comment Share on other sites More sharing options...
Mediacom87 Posted January 26, 2022 Share Posted January 26, 2022 Il y a 3 heures, clem974 a dit : Bonjour Semor Tout d'abord bonne année 2022! j'ai ce souci sur la version 1.7 la note du client n'apparait nulle part, merci m'aiguiller sur l'ajout de code à insérer. rien trouvé à part de poste de 2014. Merci d'avance Cordialement 8 ans ... la 1.7 n'existait pas donc merci de respecter les règles de ce forum et d'ouvrir votre propre sujet en expliquant clairement votre besoin et votre installation. 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