paroka Posted March 16, 2017 Share Posted March 16, 2017 Bonjour, Je souhaite pouvoir afficher des erreurs sur la page du choix des transporteurs. Dans le thème par défaut, j'ai remarqué qu'il y avait un template errors.tpl qui est inclut dans la page du choix du transporteur. Ce template itère, si existante, une variable $errors pour afficher les erreurs une par une. Dans mon hook, je procède donc comme suit : <?php /// ... public function hookDisplayBeforeCarrier($params) { // ... $errors = array(); $errors[] = Tools::displayError("Something went wrong"); $this->context->smarty->assign(array('errors' => $errors)); // ... } Cependant, aucune erreur ne s'affiche. Lorsque je fais un print_r dans errors.tpl, je constate que $errors est vide. Le problème se situe donc au niveau de $errors qui est mal rempli. Soit la variable n'est jamais remplie, soit elle est écrasée, mais je n'arrive pas à savoir quelle option est la bonne, ni comment faire pour le savoir. Merci par avance ! Link to comment Share on other sites More sharing options...
Eolia Posted March 16, 2017 Share Posted March 16, 2017 Vous n'êtes pas dans le bon niveau smarty là^^ Vous affectez une variable $error au niveau du hook de votre module, pas au niveau du controleur supérieur (FrontController) donc le error.tpl ne la "voit" pas Par contre, le tpl de votre module, s'il y en a un, la verra :-) Link to comment Share on other sites More sharing options...
paroka Posted March 16, 2017 Author Share Posted March 16, 2017 Bonjour Eolia, Y a-t-il une façon de faire ce que je souhaite sans modifier le contrôleur de prestashop ? Comme hériter le contrôleur pour modifier une méthode par exemple ? Quelles solutions s'offrent à moi ? Merci Link to comment Share on other sites More sharing options...
Eolia Posted March 16, 2017 Share Posted March 16, 2017 $this->context->controller->errors = $errors; (ce sont des tableaux) devrait vous convenir^^ 1 Link to comment Share on other sites More sharing options...
paroka Posted March 16, 2017 Author Share Posted March 16, 2017 Merci c'est exactement ça ! 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