fmandile Posted May 28, 2019 Share Posted May 28, 2019 Bonjour, Je n'arrive pas à mettre une requête bien spécifique pour mon fields_list. En effet, il interroge ma table produit et non ma requête. Je ne trouve pas le moyen d'inverser la chose. Voici mon code : public function __construct(){ $this->bootstrap = true; $this->table = 'product'; //Ici on retrouve la table ps_product_lang $this->lang = true; $this->version = '1.0'; parent::__construct(); $sql = 'SELECT m.name nameM, p.id_product, pl.name FROM ps_product_lang pl, ps_product p, ps_manufacturer m WHERE pl.id_product = p.id_product AND p.id_manufacturer = m.id_manufacturer ORDER BY id_product'; // Ici ma requête sql permettant d'interroger 3 tables différentes $result = Db::getInstance()->ExecuteS($sql); //Et ici l'affichage avec le fields_list. $this->fields_list = array( 'name' => array( 'title' => $this->trans('Recherche du produit') ), 'nameM' => array( 'title' => $this->trans('Marque du produit') ), 'id_product' => array( 'title' => $this->trans('ID'), 'align' => 'center', 'class' => 'fixed-width-xs' ) ); } Merci d'avance pour vos réponse. Link to comment Share on other sites More sharing options...
Janett Posted May 28, 2019 Share Posted May 28, 2019 (edited) Bonjour, Le HelperList n'est pas conçu pour fonctionner dans une classe Module mais dans un AdminController. Donc vous devriez utiliser un ModuleAdminController pour l'utiliser proprement, profiter de la pagination, sortings, search filters... Quel est votre besoin précis ? S'agit-il juste d'ajouter une colonne Marque dans la liste des produits ? Lectures sur le sujet : https://www.prestashop.com/forums/topic/985383-helperlist-filter-not-working/?tab=comments#comment-3112884 https://www.prestashop.com/forums/topic/628043-paginado-en-helperlist/?tab=comments#comment-3111458 et autres sujets sur le forum, la recherche du forum est votre ami. Edited May 28, 2019 by Janett (see edit history) Link to comment Share on other sites More sharing options...
fmandile Posted May 28, 2019 Author Share Posted May 28, 2019 Mon objectif est d'ajouter les marques des produits dans la liste, comme vous l'avez dit. Je vais, alors m’intéresser d'avantage au ModuleAdminController. Link to comment Share on other sites More sharing options...
Janett Posted May 29, 2019 Share Posted May 29, 2019 Dans votre cas, si vous avez juste une colonne à ajouter, vous n’avez pas besoin de créer une nouvelle liste, vous pouvez altérer la liste des produits existante. Un exemple est disponible : https://github.com/friends-of-prestashop/products Vous devez adapter l’exemple à vos besoins Link to comment Share on other sites More sharing options...
fmandile Posted June 5, 2019 Author Share Posted June 5, 2019 Je ne comprends pas ce que je dois voir. J'ai essayé de détailler les éléments de ce module mais je ne trouve pas ce que je recherche. Pour ajouter une colonne dans le fields_list j'ai réussi à faire cela : $this->_select .= 'm.`name` AS name_m, b.`name` AS name_p'; $this->_join = ' LEFT JOIN `ps_manufacturer` AS m ON a.`id_manufacturer` = m.`id_manufacturer`'; $name_p = 'name_p'; $name_m = 'name_m'; //a = ps_product //b = ps_product_lang //checkbox permettant de faire des actions groupés $this->bulk_actions = array( 'edit' => array( 'text' => 'Modifier la selection' ) ); //Les trois barres de recherche se situant en haut de la page $this->fields_list = array( //Nom des produits $name_p => array( 'title' => 'Recherche du produit' //'filter_key' => 'name' ), //Marque des produits $name_m => array( 'title' => 'Marque du produit' ), //Id des produits 'id_product' => array( 'title' => 'ID', 'align' => 'center', 'class' => 'fixed-width-xs' ) ); La colonne "marque" se rajoute bien et est bien en liens avec les id ou bien les noms. Mais la recherche ne fonctionne pas, je ne peux pas effectuer de recherche via une marque. J'ai un message d'erreur qui s'affiche : "Champ 'name_m' inconnu dans where clause" Merci d'avance pour votre aide. Link to comment Share on other sites More sharing options...
Janett Posted June 7, 2019 Share Posted June 7, 2019 Il existe un module d'exemple sur Github qu'on a pu voir lors du Prestashop Day mardi dernier : https://github.com/Matt75/displayproductmanufacturer pour 1.6 et https://github.com/Matt75/displayproductmanufacturer/tree/1.7 pour 1.7 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