acrob Posted November 11, 2021 Share Posted November 11, 2021 Bonjour, Je souhaiterais ajouter un tab dans l'administration à partir d'un module, mais ce module n'ayant pas d'autre fonction que d'afficher ce tab, je n'ai pas de table associé en base de données. Les données s'affichant dans ce tab proviennent d'un requête SQL qui cible les tables ps_order_detail, product, product_shop et customer. Me basant sur ce que j'ai fait sur d'autre module, j'ai instancié la tab dans dans la fonction install() du module et dans le controller j'ai écrit ma requête SQL et $this->fields_list. Cela ne fonctionne pas. Prestashop exécute cette requête : SELECT SQL_CALC_FOUND_ROWS a.* FROM `ps_configuration` a WHERE 1 ORDER BY a.id_configuration ASC LIMIT 0, 50 A priori je m'y prend mal, auriez-vous des pistes à m'indiquer pour solutionner mon problème ? Merci Link to comment Share on other sites More sharing options...
Mediacom87 Posted November 11, 2021 Share Posted November 11, 2021 Bonjour, https://devdocs.prestashop.com/1.7/modules/concepts/controllers/admin-controllers/tabs/ Link to comment Share on other sites More sharing options...
acrob Posted November 12, 2021 Author Share Posted November 12, 2021 Merci Mediacom87 pour ta réponse. La création de tab en suivant les explications s'est bien dérouler, mais comment fait-on pour afficher du contenu dedans. Je voudrais afficher les données de cette requête : $Reservations = Db::getInstance()->ExecuteS("SELECT product_id, od.product_name AS `Nom du produit`, od.product_quantity, DATE_FORMAT(tco.ordered_datetime,'%W %e %M %Y') AS `Date de la réservation`, DATEDIFF(tco.ordered_datetime, now()) as `Nb de jour`, cu.firstname, cu.lastname, cu.email, cu.id_default_group FROM "._DB_PREFIX_."order_detail od LEFT JOIN "._DB_PREFIX_."product p ON p.id_product = od.product_id LEFT JOIN ps_product_shop ps ON (ps.id_product=p.id_product AND ps.id_shop = od.id_shop) LEFT JOIN ps_terracalendar_order tco ON (tco.id_product=p.id_product AND tco.id_order =od.id_order) JOIN "._DB_PREFIX_."customer cu ORDER BY tco.ordered_datetime" ); Mais je ne sais pas comment il faut faire. J'ai tenté dans : public function __construct() public function renderList() public function renderDetails() Mais aucun de ces essais n'a fonctionné. Link to comment Share on other sites More sharing options...
acrob Posted November 12, 2021 Author Share Posted November 12, 2021 (edited) Précision, comme je n'ai pas de table associé à mon module, le système fait un double FROM puisqu'il cherche d'office dans le module, ce qui bien évidemment plombe le bigniou. Ma requête initiale : $this->_select = '* FROM `ps_reservation` AS od'; SELECT SQL_CALC_FOUND_ROWS `id_order_detail` , * FROM `ps_reservation` AS od FROM `ps_reservation` a Edited November 12, 2021 by acrob (see edit history) Link to comment Share on other sites More sharing options...
agarmur Posted December 10, 2023 Share Posted December 10, 2023 Bonjour, désolé de déterrer un vieux sujet, mais après avoir suivi les explications de la documentation, je n'arrive pas a voir ma nouvelle colonne Voici mon code, il est bien dans la function __construct de mon module : public function __construct() foreach (Language::getLanguages(true) as $lang) { $tabNames[$lang['locale']] = $this->trans('Link List', array(), 'Modules.Linklist.Admin', $lang['locale']); } $this->tabs = [ [ 'name' => [ 'en' => 'Merchant Expertise', 'fr' => 'Expertise PrestaShop', ], 'class_name' => 'AdminGamification', 'parent_class_name' => 'AdminOrders', ], ]; Merci 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