Jump to content
S79

Affiche le transporteur dans l admin section commande

Recommended Posts

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

31532_8jCDYGTNoTLqGhXYpoeX_t

Share this post


Link to post
Share on other sites

c'est faisable dans le fichier /adminxxx/tab/AdminOrders.php

au 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),
.....

Share this post


Link to post
Share on other sites

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();

Share this post


Link to post
Share on other sites
            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();

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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]

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Oui merci encore pour ton aide.
Pour ceux a qui ca peu interesse voila le fichier
Placer le par FTP: adminxxx/tab
Version Prestashop 1.3

AdminOrders.php

Share this post


Link to post
Share on other sites

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.

  • Like 1

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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 by SAM00006 (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

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 by tristars (see edit history)

Share this post


Link to post
Share on other sites

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 :ph34r:

Share this post


Link to post
Share on other sites

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 :ph34r:

Share this post


Link to post
Share on other sites

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 !!

Share this post


Link to post
Share on other sites

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 :)

Share this post


Link to post
Share on other sites

j'ai testé votre override.

En effet il ne retourne qu'un produit et qu'une quantité. :huh:

 

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 by indesign (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

D'accord je vois l'idée mais justement je pensais à quelque chose comme ça mais je ne vois pas où l'utiliser ;; -_-

Share this post


Link to post
Share on other sites

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. :(

  • Like 1

Share this post


Link to post
Share on other sites

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;
}
}
?>

  • Like 1

Share this post


Link to post
Share on other sites

Tu n'est vraiment plus très loin du but recherché :)

Bien vu pour SUM() sur product_quantity et le GROUP BY id_order

  • Like 1

Share this post


Link to post
Share on other sites

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 ! :)

  • Like 1

Share this post


Link to post
Share on other sites

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

  • Like 1

Share this post


Link to post
Share on other sites

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 ... '-'

Share this post


Link to post
Share on other sites

Les tags sont plus pour une quantité :wub: Non ?

Plutôt par ce biais là, si ça correspond au souhait voulu ;)

post-459329-0-36400500-1377443291_thumb.png

  • Like 1

Share this post


Link to post
Share on other sites

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 :/

Share this post


Link to post
Share on other sites
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

 

post-459329-0-26776700-1377445797_thumb.png

Edited by indesign (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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 by indesign (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Pour le coup Lofti ton problème est résolu, je te laisse le soin de poster toi même l'override kivabien

  • Like 1

Share this post


Link to post
Share on other sites

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;

}
}
?>

  • Like 2

Share this post


Link to post
Share on other sites

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 !

  • Like 1

Share this post


Link to post
Share on other sites

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 ??

Share this post


Link to post
Share on other sites

re bonjour,

 

Quelle variable utiliser pour le groupe client, qqun aurait une idée

 

ex :

order -> id_customer > 1
id_customer -> 1 -> id_group > 3
id_group_lang -> id_group > 3 -> name > client

Edited by indesign (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More