Jump to content

utilisateurlambda

Members
  • Posts

    13
  • Joined

  • Last visited

utilisateurlambda's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. J'ai oublié de me répondre moi-même, mais j'avais finalement réussi à récupérer l'id de cette manière-là $id_customer = (int)$this->context->customer->id; Mais comme expliquer précédemment, j'avais déjà essayé pas mal de chose (et donc de le récupérer par le context) mais ça n'avais pas fonctionné (J'avais mal écrit mon code car j'écrivais ceci : $id_customer = (int)$this->context->cookie->customer->id; Je pensais qu'il fallait le récupérer dans le cookie, grossière erreur de ma part ) En tout cas je vous remercie de votre réponse doekia et pas la peine de s'énerver Cordialement rygegor
  2. Je sais très bien que le contexte possède ses informations, mais je n'arrive pas à récupérer l'id du consommateur dans une variable que se soit en passant pas l'envoi de la variable ou du contexte. Comment faire pour le récupérer ? (Ah et mon exemple de code le voici : {assign var=param value=[ 'module_action' => 'mapage', 'id_customer' => $smarty.get.id_customer ]} <a class="col-lg-4 col-md-6 col-sm-6 col-xs-12" href="{$link->getModuleLink('mymodule', 'controllername', array($param), true)|escape:'html':'UTF-8'}" title="{l s='Mon titre' mod='mymodule'}"> <span class="link-item"> <i class="material-icons">&#xE864;</i> {l s='Mon tritre' mod='mymodule'} </span> </a> Et une fois le tableau établi, j'ai une erreur : "ContextErrorException in smarty_internal_templatebase.php(157) : eval()'d code line 27: Notice: Undefined index: id_customer") Et je tiens à préciser que c'est la première fois que je code sous prestashop.
  3. le problème est que si je créé un tableau de paramètres avant ou directement dans mon URL, la page "mon compte" entière plante, je n'ai pas accès pour le moment à mon code mais je vous le montrerez après
  4. Bonjour, je suis en train de développer un module sous prestashop 1.7. J'ai créé une page my-account dans le corps qui affiche un block dans la partie "profil" de l'utilisateur qui va renvoyer l'utilisateur sur une page qui va donc lui donner ses informations client. <a class="col-lg-4 col-md-6 col-sm-6 col-xs-12" href="{$link->getModuleLink('mymodule', 'controller-name', array(), true)|escape:'html':'UTF-8'}" title="{l s='Ma page' mod='mymodule'}"> <span class="link-item"> <i class="material-icons">&#xE864;</i> {l s='Ma page' mod='mymodule'} </span> </a> Mon controller se retrouve donc dans controller/front/controller-name et contient ce code <?php class MyModuleControllernameModuleFrontController extends ModuleFrontController { public $customer; protected function initList(){ $this->setTemplate('module:mymodule/views/templates/front/mapage.tpl'); } public function initContent() { parent::initContent(); $actions_list = array('mapage' => 'initList'); //$id_customer = (int)$this->customer->id; $id_customer = (int)Tools::getValue('id_customer'); $module_action = Tools::getValue('module_action'); $this->customer = new Customer((int)$id_customer, false, $this->context->cookie->id_lang); if ($id_customer > 0) && isset($action_list[$module_action])) $this->setTemplate('module:mymodule/views/templates/front/mapage.tpl'); } } Cependant, mon id est toujours égale à "0" :s j'ai fait énormément d'éssaie et de test que je ne pourrai pas tout récapituler. Un peu d'aide serait la bienvenue. Cordialement rygegor
  5. J'avais déjà vu que ça avait changer le nom, j'avais bien complété mon code comme ceci : public function hookDisplayCustomerAccount($params){ return $this->display(__FILE__,'fichier.tpl'); } public function hookDisplayMyAccountBlock($params){ return $this->hookDisplayCustomerAccount($params); } Mais il m'a simplement fallu repasser par une base vide de mon module. Au final, je n'ai pas compris d'où venait l'erreur, car j'ai laissé mon code tel quel et ça à fonctionner. La magie peut-être
  6. C'est bon, tout fonctionne, j'ai repris une base vide ou j'ai seulement fait la gestion de mon hook et tout à correctement fonctionner, il s'affiche.
  7. Malheureusement, je ne peu pas installer d'installer "blockwishlist", c'est un module pour la version 1.6, je suis sous prestashop 1.7 Oui, je vide le cache à chaque tentative de réinstallation Comment ça le hook serait absent du template my-account.tpl ?
  8. J'ai oublié de le réécrire lorsque j'ai donné mon code, mais le chemin est déjà correctement mis dans mon code Je viens de remarquer que mon hook ne s'installe pas, Lorsque je suis dans la partie back-office, Apparence-possition, mon module n'apparaît pas. Donc je présume que mon hook ne s'installe pas et que mon erreur proviens sûrement de là ? Qu'en pensez-vous ?
  9. Oui je réinstalle mon module après chaque nouveau hook comment-ça, respecter les cases dans le nom de ma fonction ? Mon template s'appelle bien displayMyAccountBlock.tpl, cependant, il se trouve dans racine/templates/hook/displayMaAccountBlock.tpl
  10. Je suis désolé, mais ce lien ne m'a pas aidé, j'ai déjà trouvé une documentation sur la création et l'utilisation d'un hook. Je pense que je n'arrive pas à bien l'appliquer.
  11. J'ai donc pris exemple sur le module que BeComWeb m'a conseiller d'exploiter, cependant, je dois très mal utiliser les hook, car je n'arrive toujours pas à afficher mon block :( Je ne demande pas une solution miracle, mais je suis un peut coincer. J'ai lu et relu pas mal de docs, mais je reste au même point ou je n'arrive pas à afficher ce block pour les utilisateurs dans la partie "mon compte" :(
  12. Bonjour, je suis en phase de développement d'un module prestashop. Cependant, la gestion des hook reste trop floue pour moi. J'aimerais afficher un block dans la page "mon compte" de prestashop pour l'utilisateur, cependant, je n'arrive pas à l'afficher. Dans le corps de mon module, j'ai lancé l'installation du hook désirer : public function install() { /* .... */ return parent::install() && $this->registerHook('DisplayMyAccountBlock'); return true; /* ... */ } Et j'ai bien établi ma fonction : public function hookDisplayMyAccountBlock($params) { return $this->display(__FILE__,'displayMyAccountBlock.tpl'); } Qui renvoie donc ma page view/template/hook/displayMyAccountBlock.tpl : <a class="col-lg-4 col-md-6 col-sm-6 col-xs-12" id="upload-link" href="http://localhost/test2-prestashop/link"> <span class="link-item"> Uploads </span> </a> Cependant, je n'ai aucun block qui s'affiche. Qu'ais-je fait de mauvais ? Qu'ais-je oublié ? Je rappelle donc que je ne suis pas un expert, de plus je suis nouveau sous prestashop. Merci de vos réponses !
×
×
  • Create New...

Important Information

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