K.M.R72 Posted August 9, 2015 Share Posted August 9, 2015 (edited) Bonjour,je voudrai faire une faire une requête qui récupère le numéro de téléphone du client dans la table ps_address et l'affiche dans mon tableau mais j'y arrive pas. voici la fonction : public function renderList() { $this->table = 'customer'; $this->className = 'Customer'; $sql = 'SELECT * FROM '._DB_PREFIX_.'customer'; $query = 'SELECT a.phone, c.company FROM '._DB_PREFIX_.'address a,'._DB_PREFIX_.'customer c WHERE a.id_customer = c.id_customer'; if($result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql) && $resultat = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query)){ $this->fields_list = array( 'id_customer' => array( 'title' => $this->l('Id'), 'width' => 140, 'type' => 'text', ), 'lastname' => array( 'title' => $this->l('Noms'), 'width' => 140, 'type' => 'text', ), 'firstname' => array( 'title' => $this->l('Prenoms'), 'width' => 140, 'type' => 'text', ), 'birthday' => array( 'title' => $this->l('Date de naissance'), 'width' => 140, 'type' => 'text', ), 'email' => array( 'title' => $this->l('Email'), 'width' => 140, 'type' => 'text', ), 'phone' => array( 'title' => $this->l('Telephone'), 'width' => 140, 'type' => 'text', ), 'active' => array( 'title' => $this->l('Enabled'), 'align' => 'text-center', 'active' => 'status', 'type' => 'bool', 'orderby' => false, 'filter_key' => 'a!active' ), ); $helper = new HelperList(); $helper->shopLinkType = ''; $this->shopShareDatas = Shop::SHARE_CUSTOMER; $helper->simple_header = false; // Actions to be displayed in the "Actions" column $helper->actions = array('edit', 'delete', 'view'); $helper->identifier = 'id_customer'; $helper->show_toolbar = true; $helper->title = 'Liste des clients'; $helper->table = 'customer'; $helper->token = Tools::getAdminTokenLite('AdminModules'); $helper->currentIndex = AdminController::$currentIndex.'&configure='.$this->name; return $helper->generateList($result, $this->fields_list); } return false; } voici l'erreur qu'on m'affiche lorsque j'execute le code: Warning à la ligne 200 du fichier C:\wamp\www\prestashop\classes\helper\HelperList.php[2] Invalid argument supplied for foreach() Edited August 12, 2015 by K.M.R72 (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted August 9, 2015 Share Posted August 9, 2015 Salut, j'utilise jamais les helper list mais par contre 2 requêtes pour faire un seul tableau cela me semble excessif. Link to comment Share on other sites More sharing options...
K.M.R72 Posted August 9, 2015 Author Share Posted August 9, 2015 Merci j'ai vu mon erreur, vous aviez raison. Maintenant j'ai un autre problème, dans l'aafichage de la liste des clients, je voudrai que lorsqu'on clique sur un client ,ça affiche ses informations , comment faire? j'ai déjà ma liste des clients et les boutons ('edit','view','delete') sont présents. lesfonctions edit et delete fonctionne à merveille. maintenant j'aimerai que le bouton view afiche les informations d'un client. Link to comment Share on other sites More sharing options...
Mediacom87 Posted August 9, 2015 Share Posted August 9, 2015 Bonjour, comme déjà précisé je n'ai jamais utilisé ces méthodes donc prenez le temps d'analyser les codes utilisés par d'autres modules ou directement dans l'admin de PrestaShop et vous aurez vos réponses. Link to comment Share on other sites More sharing options...
K.M.R72 Posted August 12, 2015 Author Share Posted August 12, 2015 j'ai trouvé comment faire, merci Link to comment Share on other sites More sharing options...
Mediacom87 Posted August 12, 2015 Share Posted August 12, 2015 j'ai trouvé comment faire, merci Peut être pourriez vous préciser la méthode pour les futurs lecteurs. Link to comment Share on other sites More sharing options...
K.M.R72 Posted August 12, 2015 Author Share Posted August 12, 2015 Bien sûr, c'est assez simple. il suffit de créer un fichier php de votre choix dans lequel la classe à l'intérieur va hériter de la classe AdminCustomerController. ensuite vous créez une fonction voici un exemple: essai.php class salut extends AdminCustomerController{ public function infoClient(){ //on récupère l'id du client sur lequel on clique $client = Tools::getValue(id_customer); //on fait une requête pour récupérer ses informations $requete = Db::getInstance(_PS_USE_SQL_SLAVE)->executeS('SELECT * FROM '._DB_PREFIX_.'customer WHERE id_customer ='.$client); return $requete; } } ensuite dans un autre fichier php vous appelez cette fonction en incluant tout d'abord le fichier essai.php, voici un exemple exemple.php include'../../essai.php; // on inclut le fichier essai public function afficheInfo(){ $var = new salut(); $ex = $var->infoClient(); $this->smarty->assign('client',$ex); return $this->display(__FILE__, 'affiche.tpl'); } et dans le tpl vous utilisez la boucle {foreach} {/foreach} pour afficher les informations que vous désirez. 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