jd440 Posted September 21, 2013 Share Posted September 21, 2013 (edited) Bonjour à tous, J'ai devellopé un module personnel similaire au block newsletter. Le problème est que sur la page d'authentification, si le module "blocknewsletter" n'est pas activé la case d'inscription ne s'affichera pas sur le formulaire d'inscription (plus sur le compte). En cherchant on s'apercoit qu'il y a un controle effectué sur le template afin de s'assurer que le module est activé: {if isset($newsletter) && $newsletter} Sachant que cette variable est définit dans le /controllers/front/AuthController.php public function initContent() { [...] $active_module_newsletter = false; if ($module_newsletter = Module::getInstanceByName('blocknewsletter')) $active_module_newsletter = $module_newsletter->active; $this->context->smarty->assign('newsletter', (int)$active_module_newsletter); [...] J'ai donc choisit de créer un override : /override/controllers/front/AuthController.php avec: public function initContent() [...] $active_module_newsletter = false; if ($module_newsletter = Module::getInstanceByName('blocknewsletter')) $active_module_newsletter = $module_newsletter->active; $this->context->smarty->assign('newsletter', (int)$active_module_newsletter); if ($module_newsletter_v2 = Module::getInstanceByName('blocknewsletter_v2')) $active_module_newsletter_v2 = $module_newsletter_v2->active; $this->context->smarty->assign('newsletter_v2', (int)$active_module_newsletter_v2); $this->context->smarty->assign('check_override', 'overrride'); [...] Mais mon souci est que l'override est pris en compte sur la première page d'authentification: (celle oú l'on as le choix entre Créer un compte / Déjà inscrit) Create your accountnewsletter: 0newsletter v2: 1chech override : overrride Mais une fois que je vais sur le form de cŕeation de compte: authentification#account-creation J'ai : newsletter: 0newsletter v2:chech override : On vois donc que ici l'override est pas pris en compte ou du moi l'initContent de l'override. Afin de pousser un peu plus loin le test j'ai rajouter dans le AuthController en core: $active_module_newsletter_v2 = false; if ($module_newsletter_v2 = Module::getInstanceByName('blocknewsletter_v2')) $active_module_newsletter_v2 = $module_newsletter_v2->active; $this->context->smarty->assign('newsletter_v2', (int)$active_module_newsletter_v2); $this->context->smarty->assign('check_override', "pas ovverride"); authentification#account-creation J'ai : newsletter: 0newsletter v2:1chech override :pas ovverride A noté: j'ai désactiver tous les caches, Supprimé tous les fichier cache (templates. cache smarty, compile) Supprimé le class_index.php (même si on travaille pas sur une classe) Vider la cache navigateur. Auriez vous une idée? Edit: Il semblerais qu'a la prem,ière étape soit appelé InitContent Puis à la deuxième étape INIT Edited September 21, 2013 by jd440 (see edit history) 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