Jump to content

pouc

Members
  • Posts

    178
  • Joined

  • Last visited

Everything posted by pouc

  1. Alors j'ai plus ou moins réussi le champ de recherche fonctionne par contre les résultats s'affiche pas comme je le voudrais. pour l'instant j'ai ceci: ligne 189 admindmulistecommade j'ai rajouter un élément dans la requête: $this->_select = ' a.id_order AS id_pdf, cl.name AS carrier_name, CONCAT(c.`company`, \' \', c.`firstname`) AS company1, CONCAT(c.`lastname`, \' \', c.`firstname`) AS customer, osl.`name` AS `osname`, os.`color`, IF((SELECT COUNT(so.id_order) FROM `'._DB_PREFIX_.'orders` so WHERE so.id_customer = a.id_customer) > 1, 0, 1) as new, (SELECT COUNT(od.`id_order`) FROM `'._DB_PREFIX_.'order_detail` od WHERE od.`id_order` = a.`id_order` GROUP BY `id_order`) AS product_number'; Ensuite ligne 242 et 255 'company1' => array('title' => $this->l('Societe'), 'filter_key' => 'company1', 'tmpTableFilter' => true, 'callback' => 'detailCompany1', 'class_callback' => 'admindmulistecommandes'), Et ligne 482 : public function detailCompany1($customer, $tr) { $delivery = new Address($tr['id_address_delivery']); $company1 = new Customer($tr['id_customer']); $iso = Country::getIsoById($delivery->id_country); $title = '<strong>'.$customer->company." <span class='upper'>".$customer->firstname.'</span></strong><br/> <em>'.$customer->email.'</em><br/><br/> <strong>'.$this->text_shipping.' :</strong><br/> '.$delivery->firstname.' '.$delivery->company.'<br/> '.str_replace('"', '', $delivery->address1).'<br/> '.(!empty($delivery->address2) ? str_replace('"', '', ($delivery->address2)).'<br/>' : '') .$delivery->postcode.' '.$delivery->city.'<br/> '.$delivery->country; return '<img alt="'.$iso.'" src="/modules/dmulistecommandes/pays/'.$iso.'.png" width="14" /> <a href="javascript:;" class="lien_customer'.((Tools::getBrightness($tr['color']) < 128) ? '_white' : '').'" title="'.$title.'">'.substr($customer->firstname, 0, 1).'. <span class="upper">'.$customer->lastname.'</span></a>'; } Au niveau des résultats ça fonctionne sauf qu'ils apparaissent dans le champs clients et non dans le champ société. je continue à chercher et mettrais à jour mes résultats. Baptiste
  2. C'est pas faux!! autant pour moi!=) Du coup le message d'erreur c'est "mauvaise requête sql" j'ai apporté d'autre modification sur le code : 'company' => array('title' => $this->l('Societe'), 'widthColumn' => 120, 'width' => 100, 'filter_key' => 'company', 'tmpTableFilter' => true, 'callback' => 'detailCustomer', 'class_callback' => 'admindmulistecommandes'), public function detailCompany($company, $tr) Mzis toujours le même message d'erreur. Merci.
  3. Bonjour je souhaiterais dans commandes->commande ameliorer ajouter le champ société quelqu'un aurait-il une idée? J'ai commencé dans adminmulistcommandes lg236 'societe' => array('title' => $this->l('Societe'), 'widthColumn' => 120, 'width' => 100, 'filter_key' => 'company', 'tmpTableFilter' => true, 'callback' => 'detailCustomer', 'class_callback' => 'admindmulistecommandes'), mais ça me retourne un message d'erreur dès que je tape quelque chose dans le champs de recherche. j'ai ensuite continué sur le même fichier lg465 ou j'ai copié la même fonction que pour la recherche client public function detailCustomer($customer, $tr) { $delivery = new Address($tr['id_address_delivery']); $customer = new Customer($tr['id_customer']); $iso = Country::getIsoById($delivery->id_country); $title = '<strong>'.$customer->firstname." <span class='upper'>".$customer->lastname.'</span></strong><br/> <em>'.$customer->email.'</em><br/><br/> <strong>'.$this->text_shipping.' :</strong><br/> '.$delivery->firstname.' '.$delivery->lastname.'<br/> '.str_replace('"', '', $delivery->address1).'<br/> '.(!empty($delivery->address2) ? str_replace('"', '', ($delivery->address2)).'<br/>' : '') .$delivery->postcode.' '.$delivery->city.'<br/> '.$delivery->country; return '<img alt="'.$iso.'" src="/modules/dmulistecommandes/pays/'.$iso.'.png" width="14" /> <a href="javascript:;" class="lien_customer'.((Tools::getBrightness($tr['color']) < 128) ? '_white' : '').'" title="'.$title.'">'.substr($customer->firstname, 0, 1).'. <span class="upper">'.$customer->lastname.'</span></a>'; } public function detailCompany($customer, $tr) { $delivery = new Address($tr['id_address_delivery']); $customer = new Customer($tr['id_customer']); $iso = Country::getIsoById($delivery->id_country); $title = '<strong>'.$customer->firstname." <span class='upper'>".$customer->lastname.'</span></strong><br/> <em>'.$customer->email.'</em><br/><br/> <strong>'.$this->text_shipping.' :</strong><br/> '.$delivery->firstname.' '.$delivery->lastname.'<br/> '.str_replace('"', '', $delivery->address1).'<br/> '.(!empty($delivery->address2) ? str_replace('"', '', ($delivery->address2)).'<br/>' : '') .$delivery->postcode.' '.$delivery->city.'<br/> '.$delivery->country; return '<img alt="'.$iso.'" src="/modules/dmulistecommandes/pays/'.$iso.'.png" width="14" /> <a href="javascript:;" class="lien_customer'.((Tools::getBrightness($tr['color']) < 128) ? '_white' : '').'" title="'.$title.'">'.substr($customer->firstname, 0, 1).'. <span class="upper">'.$customer->lastname.'</span></a>'; } Merci. Baptiste
  4. Bonjour je souhaiterais lors de la création d'une facture ajouter un champ de recherche exclusivement pour les clients ayant le champs société de remplie. Fichier: ./controllers/admin/AdminOrdersController.php Dans AdminOrdersController j'ai ajouté les lignes suivantes ressemblant à celle de la recherche client: public function ajaxProcessSearchCustomers() { if ($customers = Customer::searchByName(pSQL(Tools::getValue('customer_search')))) $to_return = array('customers' => $customers, 'found' => true); else $to_return = array('found' => false); $this->content = Tools::jsonEncode($to_return); } public function ajaxProcessSearchCompany() { if ($customers = Customer::searchByCompany(pSQL(Tools::getValue('company_search')))) $to_return = array('company' => $company, 'found' => true); else $to_return = array('found' => false); $this->content = Tools::jsonEncode($to_return); } Fichier:./adminxxxx/themes/default/template/controllers/orders/form.tpl et ensuite dans form.tpl une nouvelle fonction ajax ressemblant à celle de recherche des clients. function searchCustomers() { $.ajax({ type:"POST", url : "{$link->getAdminLink('AdminOrders')|escape:'html'}", async: true, dataType: "json", data : { ajax: "1", token: "{$token}", tab: "AdminOrders", action: "searchCustomers", customer_search: $('#customer').val()}, success : function(res) { if(res.found) { var html = '<ul>'; $.each(res.customers, function() { html += '<li class="customerCard"><div class="customerName"><a class="fancybox" href="{$link->getAdminLink('AdminCustomers')}&id_customer='+this.id_customer+'&viewcustomer&liteDisplaying=1">'+this.firstname+' '+this.lastname+'</a><span class="customerBirthday"> '+((this.birthday != '0000-00-00') ? this.birthday : '')+'</span></div>'; html += '<div class="customerEmail"><a href="mailto:'+this.email+'">'+this.email+'</div>'; html += '<a onclick="setupCustomer('+ this.id_customer+');return false;" href="#" class="id_customer button">{l s='Choose'}</a></li>'; }); html += '</ul>'; } else html = '<div class="warn">{l s='No customers found'}</div>'; $('#customers').html(html); resetBind(); } }); } function searchCompany() { $.ajax({ type:"POST", url : "{$link->getAdminLink('AdminOrders')|escape:'html'}", async: true, dataType: "json", data : { ajax: "1", token: "{$token}", tab: "AdminOrders", action: "searchCompany", company_search: $('#company').val()}, success : function(res) { if(res.found) { var html = '<ul>'; $.each(res.company, function() { html += '<li class="customerCard"><div class="customerName"><a class="fancybox" href="{$link->getAdminLink('AdminCustomers')}&id_customer='+this.id_customer+'&viewcustomer&liteDisplaying=1">'+this.firstname+' '+this.lastname+'</a><span class="customerBirthday"> '+((this.birthday != '0000-00-00') ? this.birthday : '')+'</span></div>'; html += '<div class="customerEmail"><a href="mailto:'+this.email+'">'+this.email+'</div>'; html += '<a onclick="setupCustomer('+ this.id_customer+');return false;" href="#" class="id_customer button">{l s='Choose'}</a></li>'; }); html += '</ul>'; } else html = '<div class="warn">{l s='No customers found'}</div>'; $('#company').html(html); resetBind(); } }); } Fichier:./adminxxxx/themes/default/template/controllers/orders/form.tpl et ensuite le champ de recherche toujours sur le form.tpl <input type="text" id="company" value="" /> <p>{l s='Search a customer by typing the first letters of his/her name'}</p> <a class="fancybox button" href="{$link->getAdminLink('AdminCustomers')|escape:'htmlall':'UTF-8'}&addcustomer&liteDisplaying=1&submitFormAjax=1#"> <img src="../img/admin/add.gif" title="new"/><span>{l s='Add new customer'}</span> </a> Vu que je n'ai quasiment aucune connaissance en ajax est-ce quelqu'un pourrait me dire ou est-ce que je me trompe! Merci. Baptiste
  5. je sais pas si vous avez regardé ce topic mais je pense qu'il pourrait vous aider!! https://www.prestashop.com/forums/topic/355025-frais-de-port-selon-transporteur-et-zones/page-2 Baptiste
  6. Il y avait un champ qui avait été supprimé dans la base de donnés Baptiste
  7. Bonjour, mon problème est le suivant, je suis dans l'impossibilité de créer un compte client et le message suivant apparait :"Une erreur s'est produite pendant la création de l'objet. customer ()". Quelqu'un saurait d’où ça pourrait venir? Merci Baptiste
  8. Parfait!! j'ai réussi avec quelques légère modification mais en tout cas ça marche. alors ligne 220 dans customer.php j'ai ceux-ci: public function __construct($id = null) { $ma_variable = Tools::getValue('nthera'); $id_special_group = '800'; if (!empty($ma_variable)) { $this->id_default_group = (int)Configuration::get('PS_CUSTOMER_GROUP'); $this->id_group = (int)$id_special_group; } else{ $this->id_default_group = (int)Configuration::get('PS_CUSTOMER_GROUP'); $this->id_group =6; } parent::__construct($id); } Donc si ma variable est remplie il est inscrit dans le groupe client et dans l'id 800 sinon il est inscrit dans le groupe client et l'id 6. Merci beaucoup pour votre aide!! Baptiste
  9. Je pense que le votre code doit fonctionner mais par contre j'ai pas l'impression qu'un des codes de presta ne fait pas la différence entre ma variable remplie et ma variable vide. Donc votre code ne fonctionne pas est-ce qu'il y aurait un moyen de savoir si presta prends en compte ma variable ou pas. Baptiste
  10. Dans mon tpl du coup je n'ai fais aucune modification!! et dans authController : if (!count($this->errors)) { $ma_variable = Tools::getValue('nthera'); $id_special_group = '800'; if (!$customer->is_guest && empty($ma_variable)) { $this->context->customer = $customer; $customer->cleanGroups(); // we add the guest customer in the default customer group $customer->addGroups(array((int)Configuration::get('PS_CUSTOMER_GROUP')),(int)$id_special_group); if (!$this->sendConfirmationMail($customer)) $this->errors[] = Tools::displayError('The email cannot be sent.'); } else { $customer->cleanGroups(); // we add the guest customer in the guest customer group $customer->addGroups(array((int)Configuration::get('PS_GUEST_GROUP'))); }
  11. et du coup quelle modification je dois apporter pour que cela fonctionne?
  12. oh mais oui je suis vraiment trop c*n!! =) yes c'est nthera qu'il faut évaluer.
  13. ça ne fonctionne pas!! if (!count($this->errors)) { $ma_variable = Tools::getValue('nthera'); $id_special_group = '800'; if (!$customer->is_guest && $ma_variable == 1) { $this->context->customer = $customer; $customer->cleanGroups(); // we add the guest customer in the default customer group $customer->addGroups(array((int)Configuration::get('PS_CUSTOMER_GROUP')),(int)$id_special_group); if (!$this->sendConfirmationMail($customer)) $this->errors[] = Tools::displayError('The email cannot be sent.'); } elseif (!$customer->is_guest && $ma_variable == 0) { $this->context->customer = $customer; $customer->cleanGroups(); // we add the guest customer in the default customer group $customer->addGroups(array((int)Configuration::get('PS_CUSTOMER_GROUP'))); if (!$this->sendConfirmationMail($customer)) $this->errors[] = Tools::displayError('The email cannot be sent.'); } else { $customer->cleanGroups(); // we add the guest customer in the guest customer group $customer->addGroups(array((int)Configuration::get('PS_GUEST_GROUP'))); } est-ce que j'ai fait une erreur quelques part? Baptiste
  14. j'ai rien dans mon tpl mise à part le champ <p class="text"> <label for="nthera">{l s='Numéro Thérapeute'}</label> <input type="text" class="text" id="nthera" name="nthera" value="{if isset($smarty.post.nthera)}{$smarty.post.nthera}{/if}" /> </p> qui est celui que je veux vérifier. Du coup je suis en train de regarder pour réaliser une checkbox caché mais c'est plus dur que je ne pensais, et la question que je me pose est ce qu'il faut que crée la checkbox en faisa,t toute les manips de l'ajout dans la bdd de la création en override. Baptiste
  15. En faite sur mon authentification.tpl j'ai justement ma variable(un numéro d'identification professionnel) qui est déjà présente, et je voudrais faire un contrôle "si cette variable à été remplie" alors le nouvel ,arrivant = groupe par défaut + autre groupe id=800 sinon = groupe par défaut + autre groupe id=6." Mais il ne faut pas que le client est à choisir le groupe dans lequel il doit être ça doit être automatique, a moins qu'en suivant votre solution je réalise une checkbox caché sur mon tpl en y mettant la condition si le champ est remplie checkbox =1 sinon = 0. Qu'en pensez-vous? Baptiste
×
×
  • Create New...

Important Information

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