S79 Posted October 15, 2010 Share Posted October 15, 2010 Bonsoir à tous.Je voudrais bien afficher le nom du transporteur dans l'admin, dans le tableau affichant toutes les commandes.Vu que nous avons souvent des commande expédier en express, il serait bine de voir cela directement cote admin. je suis sur que cela pourrait interesse bien d autres personnes!Voir photo piece jointe.Avez vous une idée comment faire et quel(s9fichier(s) il faudrait changer?Merci d'avance!JAcques Link to comment Share on other sites More sharing options...
Broceliande Posted October 15, 2010 Share Posted October 15, 2010 c'est faisable dans le fichier /adminxxx/tab/AdminOrders.phpau début du fichier dans le constructeur figurent les requêtes et les jonctions ,dans $this->_join = ..... ainsi que les champs à afficher $this->fieldsDisplay = array(.... Comme l' id_carrier est stocké dans la table order mais pas le nom , il va te falloir intercaler un join supplémentaire entre deux lignes :LEFT JOIN ...... LEFT JOIN `'._DB_PREFIX_.'carrier` ca ON (ca.`id_order_state` = a.`id_carrier`) LEFT JOIN ...... ensuite , dans fieldDisplay tu insères ta colonne , également entre deux autres lignes de code (la nouvelle colonne est codée sur la troisième des lignes suivantes) : $this->fieldsDisplay = array( 'id_order' => array('title' => $this->l('ID'), 'align' => 'center', 'width' => 25), 'caname' => array('title' => $this->l('CARRIER'), 'align' => 'center', 'width' => 30), ..... Link to comment Share on other sites More sharing options...
S79 Posted October 15, 2010 Author Share Posted October 15, 2010 MErci pour cette reponse si rapide!Malheureument, en admin dans commande je recois l info "Requete SQL invalide"C est ca qui pose problem, car quand je l efface du fichier, CARRIER apparait bien dans la dmin mais naturellemnt pas le nom: "LEFT JOIN `'._DB_PREFIX_.'carrier` ca ON (ca.`id_order_state` = a.`id_carrier`) MERCI ENCORE POUR TON AIDE!!!Ci-dessous le morceau de mon code: IF((SELECT COUNT(so.id_order) FROM `'._DB_PREFIX_.'orders` so WHERE so.id_customer = a.id_customer AND so.valid = 1) > 1, 0, 1) as new, (SELECT COUNT(od.`id_order`) FROM `'._DB_PREFIX_.'order_detail` od WHERE od.`id_order` = a.`id_order` GROUP BY `id_order`) AS product_number'; $this->_join = 'LEFT JOIN `'._DB_PREFIX_.'customer` c ON (c.`id_customer` = a.`id_customer`) LEFT JOIN `'._DB_PREFIX_.'order_history` oh ON (oh.`id_order` = a.`id_order`) LEFT JOIN `'._DB_PREFIX_.'order_state` os ON (os.`id_order_state` = oh.`id_order_state`) LEFT JOIN `'._DB_PREFIX_.'carrier` ca ON (ca.`id_order_state` = a.`id_carrier`) LEFT JOIN `'._DB_PREFIX_.'order_state_lang` osl ON (os.`id_order_state` = osl.`id_order_state` AND osl.`id_lang` = '.intval($cookie->id_lang).')'; $this->_where = 'AND oh.`id_order_history` = (SELECT MAX(`id_order_history`) FROM `'._DB_PREFIX_.'order_history` moh WHERE moh.`id_order` = a.`id_order` GROUP BY moh.`id_order`)'; $statesArray = array(); $states = OrderState::getOrderStates(intval($cookie->id_lang)); foreach ($states AS $state) $statesArray[$state['id_order_state']] = $state['name']; $this->fieldsDisplay = array( 'id_order' => array('title' => $this->l('ID'), 'align' => 'center', 'width' => 25), 'caname' => array('title' => $this->l('CARRIER'), 'align' => 'center', 'width' => 50), 'new' => array('title' => $this->l('New'), 'width' => 25, 'align' => 'center', 'type' => 'bool', 'filter_key' => 'new', 'tmpTableFilter' => true, 'icon' => array(0 => 'blank.gif', 1 => 'news-new.gif'), 'orderby' => false), 'customer' => array('title' => $this->l('Customer'), 'widthColumn' => 160, 'width' => 140, 'filter_key' => 'customer', 'tmpTableFilter' => true), 'total_paid' => array('title' => $this->l('Total'), 'width' => 70, 'align' => 'right', 'prefix' => '', 'suffix' => '', 'price' => true, 'currency' => true), 'payment' => array('title' => $this->l('Payment'), 'width' => 100), 'osname' => array('title' => $this->l('Status'), 'widthColumn' => 250, 'type' => 'select', 'select' => $statesArray, 'filter_key' => 'os!id_order_state', 'filter_type' => 'int', 'width' => 200), 'date_add' => array('title' => $this->l('Date'), 'width' => 90, 'align' => 'right', 'type' => 'datetime', 'filter_key' => 'a!date_add'), 'id_pdf' => array('title' => $this->l('PDF'), 'callback' => 'printPDFIcons', 'orderby' => false, 'search' => false)); parent::__construct(); Link to comment Share on other sites More sharing options...
S79 Posted October 15, 2010 Author Share Posted October 15, 2010 IF((SELECT COUNT(so.id_order) FROM `'._DB_PREFIX_.'orders` so WHERE so.id_customer = a.id_customer AND so.valid = 1) > 1, 0, 1) as new, (SELECT COUNT(od.`id_order`) FROM `'._DB_PREFIX_.'order_detail` od WHERE od.`id_order` = a.`id_order` GROUP BY `id_order`) AS product_number'; $this->_join = 'LEFT JOIN `'._DB_PREFIX_.'customer` c ON (c.`id_customer` = a.`id_customer`) LEFT JOIN `'._DB_PREFIX_.'order_history` oh ON (oh.`id_order` = a.`id_order`) LEFT JOIN `'._DB_PREFIX_.'order_state` os ON (os.`id_order_state` = oh.`id_order_state`) LEFT JOIN `'._DB_PREFIX_.'carrier` ca ON (ca.`id_order_state` = a.`id_carrier`) LEFT JOIN `'._DB_PREFIX_.'order_state_lang` osl ON (os.`id_order_state` = osl.`id_order_state` AND osl.`id_lang` = '.intval($cookie->id_lang).')'; $this->_where = 'AND oh.`id_order_history` = (SELECT MAX(`id_order_history`) FROM `'._DB_PREFIX_.'order_history` moh WHERE moh.`id_order` = a.`id_order` GROUP BY moh.`id_order`)'; $statesArray = array(); $states = OrderState::getOrderStates(intval($cookie->id_lang)); foreach ($states AS $state) $statesArray[$state['id_order_state']] = $state['name']; $this->fieldsDisplay = array( 'id_order' => array('title' => $this->l('ID'), 'align' => 'center', 'width' => 25), 'caname' => array('title' => $this->l('CARRIER'), 'align' => 'center', 'width' => 50), 'new' => array('title' => $this->l('New'), 'width' => 25, 'align' => 'center', 'type' => 'bool', 'filter_key' => 'new', 'tmpTableFilter' => true, 'icon' => array(0 => 'blank.gif', 1 => 'news-new.gif'), 'orderby' => false), 'customer' => array('title' => $this->l('Customer'), 'widthColumn' => 160, 'width' => 140, 'filter_key' => 'customer', 'tmpTableFilter' => true), 'total_paid' => array('title' => $this->l('Total'), 'width' => 70, 'align' => 'right', 'prefix' => '', 'suffix' => '', 'price' => true, 'currency' => true), 'payment' => array('title' => $this->l('Payment'), 'width' => 100), 'osname' => array('title' => $this->l('Status'), 'widthColumn' => 250, 'type' => 'select', 'select' => $statesArray, 'filter_key' => 'os!id_order_state', 'filter_type' => 'int', 'width' => 200), 'date_add' => array('title' => $this->l('Date'), 'width' => 90, 'align' => 'right', 'type' => 'datetime', 'filter_key' => 'a!date_add'), 'id_pdf' => array('title' => $this->l('PDF'), 'callback' => 'printPDFIcons', 'orderby' => false, 'search' => false)); parent::__construct(); Link to comment Share on other sites More sharing options...
Broceliande Posted October 15, 2010 Share Posted October 15, 2010 Autant pour moi , j'ai oublié de changer un champ : remplace : LEFT JOIN `’.DB_PREFIX.‘carrier` ca ON (ca.`id_order_state` = a.`id_carrier`) par LEFT JOIN `’.DB_PREFIX.‘carrier` ca ON (ca.`id_carrier` = a.`id_carrier`) ça devrait coller Link to comment Share on other sites More sharing options...
Broceliande Posted October 15, 2010 Share Posted October 15, 2010 En relisant ce que tu as entré , tu as aussi oublié une parenthèse. Il ne faut pas non plus oublié un espace à la fin de la ligne JOIN insérée , ça évite les erreurs sql ...A bien y réfléchir , je crois que le mieux , c'est encore que je t'envoie un fichier modifié .(Ici c'est une version 1.3.1 du fichier )Mieux vaut à la limite , que tu copies et colles directement à partir de ce source.Pour info , ici j'ai nommé la table oc au lieu de ca , pour l'homogénéité , donc la ligne du champ , plus loin c'est ocname et non caname . Enfin bref , tu as tout dans le fichier.... AdminOrders.php Link to comment Share on other sites More sharing options...
S79 Posted October 15, 2010 Author Share Posted October 15, 2010 Merci..super sympa.Juste quil fallaitencore rajouter à la ligne 30: oc.`name` AS `caname`,[/code] $this->table = 'order'; $this->className = 'Order'; $this->view = true; $this->colorOnBackground = true; $this->_select = ' a.id_order AS id_pdf, CONCAT(LEFT(c.`firstname`, 1), \'. \', c.`lastname`) AS `customer`, osl.`name` AS `osname`, oc.`name` AS `caname`, os.`color`, IF((SELECT COUNT(so.id_order) FROM `'._DB_PREFIX_.'orders` so WHERE so.id_customer = a.id_customer AND so.valid = 1) > 1, 0, 1) as new, (SELECT COUNT(od.`id_order`) FROM `'._DB_PREFIX_.'order_detail` od WHERE od.`id_order` = a.`id_order` GROUP BY `id_order`) AS product_number'; $this->_join = 'LEFT JOIN `'._DB_PREFIX_.'customer` c ON (c.`id_customer` = a.`id_customer`) LEFT JOIN `'._DB_PREFIX_.'order_history` oh ON (oh.`id_order` = a.`id_order`) LEFT JOIN `'._DB_PREFIX_.'carrier` oc ON (oc.`id_carrier` = a.`id_carrier`) LEFT JOIN `'._DB_PREFIX_.'order_state` os ON (os.`id_order_state` = oh.`id_order_state`) LEFT JOIN `'._DB_PREFIX_.'order_state_lang` osl ON (os.`id_order_state` = osl.`id_order_state` AND osl.`id_lang` = '.intval($cookie->id_lang).')'; $this->_where = 'AND oh.`id_order_history` = (SELECT MAX(`id_order_history`) FROM `'._DB_PREFIX_.'order_history` moh WHERE moh.`id_order` = a.`id_order` GROUP BY moh.`id_order`)';[/code] Link to comment Share on other sites More sharing options...
Broceliande Posted October 15, 2010 Share Posted October 15, 2010 Bien vu ! Je n'avais pas testé.Je n'ai pas non plus règlé la largeur des colonnes ...Ben pense à mettre [Résolu] à ton topic pour faire plaisir à nos amis modérateurs, et éventuellement reposter ton fichier mis à jour, si ça intéressait quelqu'un d'autre d'avoir le transporteur dans l'admin commandes. Link to comment Share on other sites More sharing options...
S79 Posted October 15, 2010 Author Share Posted October 15, 2010 Oui merci encore pour ton aide.Pour ceux a qui ca peu interesse voila le fichier Placer le par FTP: adminxxx/tabVersion Prestashop 1.3 AdminOrders.php Link to comment Share on other sites More sharing options...
neopk Posted November 8, 2011 Share Posted November 8, 2011 Bonjour, J'ai fais la même manip' que vous pour avoir le transporteur dans la liste des commandes il y a cependant un bug, en effet le filtrage par transporteur indique une erreur SQL. Dans le where il y a "Where 'caname' = %test% or ça devrait être ca.name mais je ne parviens pas à le résoudre. Avez vous le même bug et êtes vous parvenu à le résoudre? Merci de votre aide. 1 Link to comment Share on other sites More sharing options...
destockpc.com Posted August 30, 2012 Share Posted August 30, 2012 Bonjour, tous le monde. Merci pour cette modif, cela est très utile. Je me demander maintenant comment remplacer le nom du transporteur par son logo? Cela servira à gagné de la place en largeur car pour Mondial Relay cela dépasse sur la droite. Merci d'avance PS: je suis en 1.4.5.1 Link to comment Share on other sites More sharing options...
cyril_nel Posted December 4, 2012 Share Posted December 4, 2012 Bonjour, J'ai fais la même manip' que vous pour avoir le transporteur dans la liste des commandes il y a cependant un bug, en effet le filtrage par transporteur indique une erreur SQL. Dans le where il y a "Where 'caname' = %test% or ça devrait être ca.name mais je ne parviens pas à le résoudre. Avez vous le même bug et êtes vous parvenu à le résoudre? Merci de votre aide. Bonjour, Pour résoudre le problème du filtrage il faut juste modifier 'caname' => array('title' => $this->l('Transporteur'), 'align' => 'center', 'width' => 30 Par 'caname' => array('title' => $this->l('Transporteur'), 'align' => 'center', 'width' => 30, 'filter_key' => 'caname', 'tmpTableFilter' => true), Si ca peut t'aider. Cyril Link to comment Share on other sites More sharing options...
SAM00006 Posted December 13, 2012 Share Posted December 13, 2012 (edited) ouf ça marche aussi pour moi en version 1.4.6.2 en p-j mon fichier fonctionnel que j'ai épuré afin d'avoir le nom du transporteur sur une seul ligne. j'ai supprimé la colonne "new" que je trouve finalement inutile et joué sur les largeurs des colonnes. AdminOrders.php Edited December 13, 2012 by SAM00006 (see edit history) 1 Link to comment Share on other sites More sharing options...
tristars Posted January 22, 2013 Share Posted January 22, 2013 (edited) Bonjour à tous, Merci pour toutes ces belles explications qui m'ont beaucoup servies ! Pour faire suite à la demande de Destockpc.com, auriez-vous une solution pour ajouter à la place du nom complet du transporteur, un petit logo ? Par exemple si 'Transporteur' = "Colissimo" ALORS charger 'logo_colossimo.png' Merci pour vos éventuelles réponses. A+ Edited March 2, 2013 by tristars (see edit history) Link to comment Share on other sites More sharing options...
tristars Posted March 2, 2013 Share Posted March 2, 2013 up Link to comment Share on other sites More sharing options...
AOC46 Posted April 15, 2013 Share Posted April 15, 2013 Ce topic est vraiment intéressant en effet, moi aussi je customize le AdminOrdersController.php et là le besoin du moment c'est de cacher les commandes déjà livrées. Il doit falloir mettre une boucle avec condition "if" et se servir des id_order_state == 5 (5 étant le id du order_state "livré"). Mais je ne saurais aller plus loin sans un peu d'aide, merci d'avance aux petits génies du code qui passent par ici Link to comment Share on other sites More sharing options...
tristars Posted June 15, 2013 Share Posted June 15, 2013 2 demandes en attente ! Personne pour nous éclairer ? Bonjour à tous, Merci pour toutes ces belles explications qui m'ont beaucoup servies ! Pour faire suite à la demande de Destockpc.com, auriez-vous une solution pour ajouter à la place du nom complet du transporteur, un petit logo ? Par exemple si 'Transporteur' = "Colissimo" ALORS charger 'logo_colossimo.png' Merci pour vos éventuelles réponses. A+ & Ce topic est vraiment intéressant en effet, moi aussi je customize le AdminOrdersController.php et là le besoin du moment c'est de cacher les commandes déjà livrées. Il doit falloir mettre une boucle avec condition "if" et se servir des id_order_state == 5 (5 étant le id du order_state "livré"). Mais je ne saurais aller plus loin sans un peu d'aide, merci d'avance aux petits génies du code qui passent par ici Link to comment Share on other sites More sharing options...
abahou Posted August 22, 2013 Share Posted August 22, 2013 Bonjour, une solution pour la version 1.5.4.0 !! et merci , je n'arrive pas à trouver le fichier AdminOrders.php est ce que c'est l'équivalent de AdminOrderscontroller.php !! Link to comment Share on other sites More sharing options...
Lotfi69 Posted August 24, 2013 Share Posted August 24, 2013 Bonjour abahou, oui il s'agit bien du nom de fichier avec controller que tu cherches ! Moi le soucis que j'ai c'est qu'au niveau de l'affichage j'y suis arrivé, j'ai récupérer le détails commande et la quantité. La ou j'ai le problème c'est que je n'arrive pas à afficher plus que le dernier article... Je m'explique : Admettons que j'ai une commande avec 1 ipod 32Go et une housse d'ipod en affichage je ne vais avoir que la housse... Pareil pour la quantité il ne me met qu'un. Pour le bout de code c'est celui ci : je fais un callback sur la récupération des informations détails en espérant me servir de la fonction détail pour faire un tableau et lister les différents articles plutôt que le dernier seul. <?php class AdminOrdersController extends AdminOrdersControllerCore { public function __construct() { parent::__construct(); $this->_select .= ', od.product_name ,od.product_quantity'; $this->_join .= ' LEFT JOIN `'._DB_PREFIX_.'order_detail` od ON (od.`id_order_detail` = a.`id_order`)'; $this->fields_list['product_name'] = array( 'title' => $this->l('Détail de la commande'), 'width' => 200, 'callback' => 'detail' ); $this->fields_list['product_quantity'] = array( 'title' => $this->l('Quantité'), 'width' => 70 ); } public function detail($product_name) { return $product_name; } } ?> Avez vous des solutions ? D'avance merci Link to comment Share on other sites More sharing options...
indesign47 Posted August 24, 2013 Share Posted August 24, 2013 (edited) j'ai testé votre override. En effet il ne retourne qu'un produit et qu'une quantité. Il manque peut-être une structure de contrôle foreach pour passer en boucle à travers le contenu. Dans le controllers > admin > AdminOrdersController.php) foreach ($productList as $key => $id_order_detail) Edited August 24, 2013 by indesign (see edit history) 1 Link to comment Share on other sites More sharing options...
Lotfi69 Posted August 24, 2013 Share Posted August 24, 2013 D'accord je vois l'idée mais justement je pensais à quelque chose comme ça mais je ne vois pas où l'utiliser ;; Link to comment Share on other sites More sharing options...
indesign47 Posted August 24, 2013 Share Posted August 24, 2013 Regarde dans l'AdminOrdersController.php pour t'inspirer notamment dans la function public function postProcess() (la boucle ligne 620) J'avoue, humblement, ne pas pouvoir te suivre plus loin dans ton problème. 1 Link to comment Share on other sites More sharing options...
Lotfi69 Posted August 25, 2013 Share Posted August 25, 2013 Pour le moment j'ai réussi à récupérer les quantités d'articles acheté (avec un SUM() sur product_quantity) donc rien de bien compliqué et pour le souci de ligne dupliquée j'ai réglé ça avec un GROUP BY id_order. Le soucis restant c'est que je n'affiche qu'un seul article alors qu'il y en a plus à l'achat ... voici le code sachant que la fonction 'detail' sert toujours à rien ! ... <?php class AdminOrdersController extends AdminOrdersControllerCore { public function __construct() { parent::__construct(); $this->_select .= ', od.product_name , SUM(od.product_quantity) AS NumberOfOrders , count(od.product_quantity) AS CountOrder'; $this->_join .= ' LEFT JOIN `'._DB_PREFIX_.'order_detail` od ON (od.`id_order` = a.`id_order`)'; $this->_group .= 'GROUP BY od.`id_order`'; $this->fields_list['product_name'] = array( 'title' => $this->l('Détail de la commande'), 'width' => 200, 'callback' => 'detail', ); $this->fields_list['NumberOfOrders'] = array( 'title' => $this->l('Quantité'), 'align' => 'center', 'width' => 70 ); } /* public function processFilter() { parent::processFilter(); $this->_filter = str_replace('`product_name`', 'ca.name', $this->_filter); }*/ public function detail($product_name) { return $product_name; } } ?> 1 Link to comment Share on other sites More sharing options...
indesign47 Posted August 25, 2013 Share Posted August 25, 2013 Tu n'est vraiment plus très loin du but recherché Bien vu pour SUM() sur product_quantity et le GROUP BY id_order 1 Link to comment Share on other sites More sharing options...
Lotfi69 Posted August 25, 2013 Share Posted August 25, 2013 merci et oui j'ai un peu réfléchi lol ... Le soucis est vraiment sur le listing des articles car il me récupère les infos dans le select et du coup je n'arrive pas à récupérer plusieurs éléments. J'ai testé un concat mais c'est pas du tout ce que je veux ! 1 Link to comment Share on other sites More sharing options...
indesign47 Posted August 25, 2013 Share Posted August 25, 2013 J'ai parcouru les différents AdminTab de la BO de PS (presque tous) je n'en ai pas trouvé qui affiche plus d'une 1 ligne pour un ID Une idée (pas sûr) regarde l'adminTab des tags, il permet de grouper un tag sur plusieurs produits 1 Link to comment Share on other sites More sharing options...
Lotfi69 Posted August 25, 2013 Share Posted August 25, 2013 J'ai fait la même chose lol et sans succès non plus... Pour le coup je vais tenter ce que tu m'as dit et reviens vers vous pour de nouvelles aventures ... '-' Link to comment Share on other sites More sharing options...
indesign47 Posted August 25, 2013 Share Posted August 25, 2013 Les tags sont plus pour une quantité Non ? Plutôt par ce biais là, si ça correspond au souhait voulu 1 Link to comment Share on other sites More sharing options...
Lotfi69 Posted August 25, 2013 Share Posted August 25, 2013 oui idéalement j'aimerais faire qu'ici, comme les produits dont on récupère tous les attributs avec leurs valeurs associées , faire de même avec le détails des commandes. dans order_detail la colonne product_name récupère le nom du produit et ses valeurs associées. J'aimerais en faire de même quand je liste les commandes, récupérer tout les articles achetés et pas un seul :/ Link to comment Share on other sites More sharing options...
indesign47 Posted August 25, 2013 Share Posted August 25, 2013 (edited) J'aimerais en faire de même quand je liste les commandes, récupérer tout les articles achetés et pas un seul :/ C'est bien ce que j'avais compris depuis le début. Et en mettant le contenu de tous les produits dans une listbox comme dans Attribuer des caractéristiques à ce produit > prise casque Edited August 25, 2013 by indesign (see edit history) 1 Link to comment Share on other sites More sharing options...
Lotfi69 Posted August 25, 2013 Share Posted August 25, 2013 Avez vous un skype ou la possibilité de tchatter si ça ne vous dérange pas trop? je pense qu'on pourrais avancer peut etre plus vite car j'ai saisi l'idée mais pas comment la faire? :/ au cas ou mon skype c'est : lotfi69coralie Link to comment Share on other sites More sharing options...
indesign47 Posted August 25, 2013 Share Posted August 25, 2013 (edited) Désolé, pas de skype j'ai saisi l'idée mais pas comment la faire? :/ Je donne des idées, des conseils, des pistes... mais après j'avoue, humblement, je ne suis pas fort en PHP Regarde le controllers > admin > AdminFeaturesController.php ou les classes qui lui sont associéees Feature.php et/ou FeatureValue.php Tu trouveras peut-être ton bonheur... AdminFeaturesController.php /** * AdminController::getList() override * @see AdminController::getList() */ public function getList($id_lang, $order_by = null, $order_way = null, $start = 0, $limit = false, $id_lang_shop = false) { if ($this->table == 'feature_value') $this->_where .= ' AND a.custom = 0'; parent::getList($id_lang, $order_by, $order_way, $start, $limit, $id_lang_shop); if ($this->table == 'feature') { $nb_items = count($this->_list); for ($i = 0; $i < $nb_items; ++$i) { $item = &$this->_list[$i]; $query = new DbQuery(); $query->select('COUNT(fv.id_feature_value) as count_values'); $query->from('feature_value', 'fv'); $query->where('fv.id_feature ='.(int)$item['id_feature']); $query->where('fv.custom =0'); $res = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue($query); $item['value'] = (int)$res; unset($query); } } } Edited August 25, 2013 by indesign (see edit history) 1 Link to comment Share on other sites More sharing options...
Broceliande Posted August 29, 2013 Share Posted August 29, 2013 Pour le coup Lofti ton problème est résolu, je te laisse le soin de poster toi même l'override kivabien 1 Link to comment Share on other sites More sharing options...
Broceliande Posted August 29, 2013 Share Posted August 29, 2013 Pour le coup Lofti ton problème est résolu, je te laisse le soin de poster toi même l'override kivabien Allez tiens je me cite moi même et je poste l'override pour ceux que ça intéresse : <?php /** * @author Broceliande */ class AdminOrdersController extends AdminOrdersControllerCore{ public function renderList() { if (!($this->fields_list && is_array($this->fields_list))) return false; $this->getList($this->context->language->id); $helper = new HelperList(); // Empty list is ok if (!is_array($this->_list)) { $this->displayWarning($this->l('Bad SQL query', 'Helper').'<br />'.htmlspecialchars($this->_list_error)); return false; } $this->setHelperDisplay($helper); $helper->tpl_vars = $this->tpl_list_vars; $helper->tpl_delete_link_vars = $this->tpl_delete_link_vars; // For compatibility reasons, we have to check standard actions in class attributes foreach ($this->actions_available as $action) { if (!in_array($action, $this->actions) && isset($this->$action) && $this->$action) $this->actions[] = $action; } $helper->is_cms = $this->is_cms; $list=parent::renderList(); foreach ($this->_list as &$line) { $orderProducts=""; $id_order = (int)$line['id_order']; $sql = "select distinct product_name from "._DB_PREFIX_."order_detail where id_order=".$id_order; $result = Db::getInstance()->executeS($sql); foreach ($result as $row){ $orderProducts.=$row['product_name']." - "; } $line['products']=$orderProducts; } $this->fields_list['products'] = array( 'title' => $this->l('Produits'), 'width' => 200 ); $list = $helper->generateList($this->_list, $this->fields_list); return $list; } } ?> 2 Link to comment Share on other sites More sharing options...
Lotfi69 Posted August 29, 2013 Share Posted August 29, 2013 Oui merci car je n'ai pas eu le temps entre faire à manger et le reste lol . Encore un énorme merci pour ton aide et ce bout de code fonctionne à merveille ! Il vous listera les articles acheté selon la commande ! Que demandez de plus ! J'en profite pour remercier tous ceux qui m'ont aidé car j'ai pu comprendre bien des choses graceà vous ! 1 Link to comment Share on other sites More sharing options...
besssbesss Posted September 2, 2013 Share Posted September 2, 2013 Bonjour, Serait-il possible de faire pareil, ajouter une colonne pour trier les commandes, mais avec le groupe auquel appartient le client. Pour afficher par exemple, que les commandes des clients professionnels, ou que les clients particuliers ?? Link to comment Share on other sites More sharing options...
indesign47 Posted September 2, 2013 Share Posted September 2, 2013 (edited) re bonjour, Quelle variable utiliser pour le groupe client, qqun aurait une idée ex :order -> id_customer > 1id_customer -> 1 -> id_group > 3id_group_lang -> id_group > 3 -> name > client Edited September 2, 2013 by indesign (see edit history) 1 Link to comment Share on other sites More sharing options...
Lotfi69 Posted September 2, 2013 Share Posted September 2, 2013 Je post en rappel ou info supplémentaire pour ceux qui ne savent pas mais si certain ont tout fait correctement et que rien ne se passe, il faut supprimer ou renommer selon vos envie le fichier class_index.php dans le dossier classes. Pour ma part je l'ai renommer en old.class_index.php Link to comment Share on other sites More sharing options...
machpro Posted April 25, 2015 Share Posted April 25, 2015 Bjr, je me permet de remonter ce post car j'ai essayé de mettre en place l'affichage du transporteur dans la back office des commandes sur une presta 1.6.0.14 mais l'overide ne semble pas fonctionner! sur la 1.6.0.9 cela marche très bien. Quelqu'un aurait il une explication au problème ou existe t-il une autre solution pour cette version de Presta? merci Link to comment Share on other sites More sharing options...
SAM00006 Posted March 10, 2016 Share Posted March 10, 2016 Bjr, je me permet de remonter ce post car j'ai essayé de mettre en place l'affichage du transporteur dans la back office des commandes sur une presta 1.6.0.14 mais l'overide ne semble pas fonctionner! sur la 1.6.0.9 cela marche très bien. Quelqu'un aurait il une explication au problème ou existe t-il une autre solution pour cette version de Presta? merci bonjour à tous, Petit up concernant le dernier post, je cherche moi aussi une solution pour afficher le numero de suivit dans la liste des commandes de presta 1.6 merci beaucoup de votre aide 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