sum41147 Posted April 10, 2013 Share Posted April 10, 2013 (edited) Bonjour, Quelqu'un saurait comment intégrer l'alias de l'adresse de livraison dans le tableau historique de commande (history.tpl) ? Je n'arrive à récupérer que l'identifiant de l'adresse ... (version prestashop 1.4.6) Merci par avance Edited April 23, 2013 by sum41147 (see edit history) Link to comment Share on other sites More sharing options...
sum41147 Posted April 13, 2013 Author Share Posted April 13, 2013 Personne ne peut me donner un petit début de solution ? Link to comment Share on other sites More sharing options...
sum41147 Posted April 15, 2013 Author Share Posted April 15, 2013 (edited) J'ai la requête, j'arrive à obtenir les bons résultats avec un echo mais pas sur le tpl donc je n'ai pas du bien m'y prendre j'ai encore pas mal de choses à apprendre.. Dans le fichier controller/HistoryController.php j'ai ajouté ma requête dans la fonction process() dans la boucle foreach : global $smarty; global$cookie; $alias = Db::getInstance()->getRow('SELECT a.alias FROM '._DB_PREFIX_.'address a LEFT JOIN '._DB_PREFIX_.'orders o ON (o.id_address_invoice = a.id_address) LEFT JOIN '._DB_PREFIX_.'order_history oh ON (o.id_order = oh.id_order) WHERE a.id_address='(int)($order['id_address_invoice']).' AND o.id_product='.(int)($order['id_order']); self::smarty->assign('alias'),$alias['alias']; echo $order['id_order']." ".$alias['alias']." ".$order['id_address_invoice']; à ce niveau j'obtiens bien toutes les données du echo (numéro de commande, id de l'adresse de facturation, résultat alias correspondant). mais dans le tpl avec {$alias.alias} j'obtiens à chaque fois l'alias de l'adresse correspondant à la toute première commande passée. Quelqu'un pourrait m'expliquer mes erreurs svp ? Edited April 15, 2013 by sum41147 (see edit history) Link to comment Share on other sites More sharing options...
sum41147 Posted April 23, 2013 Author Share Posted April 23, 2013 Trouvé ... il faut juste aller dans le fichier classes/Order.php et trouver la fonction getCustomerOrders() Puis modifier la requête : (par exemple ci-dessous "alias" de l'adresse) SELECT o.*, a.`alias`, (SELECT SUM(od.`product_quantity`) FROM `'._DB_PREFIX_.'order_detail` od WHERE od.`id_order` = o.`id_order`) nb_products FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'address` a ON (a.`id_address` = o.`id_address_invoice`) WHERE o.`id_customer` = '.(int)$id_customer.' GROUP BY o.`id_order` ORDER BY o.`date_add` DESC'); et récupérer dans history.tpl : {$order.alias} 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