Jump to content

[Prestashop 1.7.6.4] Ajout d'un tab dans l'administration


acrob
 Share

Recommended Posts

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

 

 

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

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

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
 Share

×
×
  • Create New...

Important Information

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