jd440 Posted April 26, 2018 Share Posted April 26, 2018 Bonjour à tous, Je suis en train de code mon module d'avis, pour lequel j'aimerais avoir une page mondomain.com/avis référencant tous les avis. Pour cela j'ai pensé à l'intégrer sur une page CMS en y insérant un nouveau hook, et un système de pagination créer un nouveau controller Si l'intégration au CMS serait la plus simple l'url aurais alors une forme de type /cms/11-avis Je bute sur le système de pagination Raison pour laquelle je pense m'orienter sur un nouveau controller malheureusement je ne trouve pas de documentation pour celà? Auriez vous un lien, un tuto, ou module d'exemple pour cela? Merci Link to comment Share on other sites More sharing options...
jd440 Posted April 26, 2018 Author Share Posted April 26, 2018 Étant partie sur la voie du controller dédié j'ai créer un controller dans le module class AvisControllertModuleFrontController extends ModuleFrontController { public function initContent() { parent::initContent(); /** string Internal controller name */ public $php_self = 'avis'; public function initContent() { parent::initContent(); new ProductComments(); die('test!'); } } Puis dans Seo & Url ajouté ma page et Vidé le cache Mais quand j'appel: index.php?controller=Avis J'arrive sur une 404? Auriez vous une idée? Link to comment Share on other sites More sharing options...
doekia Posted April 27, 2018 Share Posted April 27, 2018 A quel endroit as tu créé ton fichier? 1 Link to comment Share on other sites More sharing options...
jd440 Posted April 27, 2018 Author Share Posted April 27, 2018 Dans un premier temps dans /controller/ Mais cela me dérangais de faire comme celà… Je l'ai donc mis dans /modules/avis/controller/front/ d'ou ModuleFrontController Link to comment Share on other sites More sharing options...
doekia Posted April 27, 2018 Share Posted April 27, 2018 déjà /modules/avis/controllers/ puis controller=avis pas Avis Qu'as-tu mis ans les routes de SEO&URL ? Link to comment Share on other sites More sharing options...
jd440 Posted April 27, 2018 Author Share Posted April 27, 2018 Je te remercie Et le Fichier dois s'appeler /modules/avis/controllers/Avis.php ou /modules/avis/controllers/avis.php pour les routes de SEO&URL l Page (avis -> aviscontroller) Titre de la page avis Meta description avis Meta mots-clés avis URL réécrite avis Link to comment Share on other sites More sharing options...
doekia Posted April 27, 2018 Share Posted April 27, 2018 (edited) En général, j'évite les majuscules. URL devrait être module-avis-avis si j'ai bonne mémoire et c'est modules/avis/controllers/front/avis.php Edited April 27, 2018 by doekia (see edit history) 1 Link to comment Share on other sites More sharing options...
jd440 Posted April 27, 2018 Author Share Posted April 27, 2018 Je te remercie Je suis reparti à 0 en suivant le tuto: https://presta.site/blog/en/how-to-create-a-new-page-using-module-front-controller/ Link to comment Share on other sites More sharing options...
jd440 Posted April 27, 2018 Author Share Posted April 27, 2018 @doekia je suis navré j'ai un nouveau soucis: public function initContent() { parent::initContent(); $pc = new ProductComment(); $this->context->controller->addCSS(_PS_MODULE_DIR_ . 'productcomments/css/productcomments.css', 'all'); $note = 4.5; $arr = array('note' => $note, 'vote' => 3333, 'site' => 'Programmation'); $smarty->assign('myArray', $arr); Quand j'essaye d'assigner à smarty j'ai le msg: Quote otice: Undefined variable: smarty in /var/www/html/presta_/modules/avis/controllers/front/test.php on line 40Fatal error: Uncaught Error: Call to a member function assign() on null in Je comprends pas mon erreur? Link to comment Share on other sites More sharing options...
jd440 Posted April 27, 2018 Author Share Posted April 27, 2018 autant pour moi public function initContent() { parent::initContent(); $this->assign(); } public function assign() { $errors = array(); […] $this->context->smarty->assign('myArray', $arr); 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