Mando Posted December 1, 2015 Share Posted December 1, 2015 J'essaie de développer un module, et j'aurais besoin d'une page dans l'admin utilisant une page .tpl, seulement malgré mes tâtonnements et les fragments de réponses que je trouve sur le net, je n'arrive pas à le faire fonctionner. Le mieux que j'arrive à faire, c'est d'afficher le contenu de mon fichier .tpl, mais sans l'environnement de Prestashop. Et comme je trouve que des bouts de réponses qui ne collent pas forcément ensemble, je tourne en rond. Mon contrôleur ne contient que le constructeur et une méthode display() remplie de mer cochonneries glanées à gauche et à droite. public function __construct() { $this->bootstrap = true; $this->context = Context::getContext(); $this->header_tpl = _PS_BO_ALL_THEMES_DIR_.'default/template/header.tpl'; $this->footer_tpl = _PS_BO_ALL_THEMES_DIR_.'default/template/footer.tpl'; $this->layout = _PS_MODULE_DIR_.'monModule/views/templates/admin/adminMonModule.tpl'; $this->override_folder = _PS_MODULE_DIR_.'monModule/views/templates/admin/'; parent::__construct(); } public function display(){ $this->context = Context::getContext(); $properties = Db::getInstance()->Execute(' /* requête */ '); $products = Db::getInstance()->Execute(' /* requête */ '); $this->context->smarty->assign(array( 'properties' => $properties, 'produits'=> $products, 'display_header' => true, 'display_footer' => true, 'header' => $this->context->smarty->fetch($this->header_tpl), 'footer' => $this->context->smarty->fetch($this->footer_tpl), )); parent::display(); } D'après ce que j'ai lu, Helper ne permet que de générer des formulaires, tableaux préformatés, je n'ai rien trouvé sur la création "libre". Si jamais c'est possible, ça m'intéresse, sinon, je me contenterais d'afficher le contenu de mon .tpl Ca doit bien être possible, non ? Link to comment Share on other sites More sharing options...
Mando Posted December 4, 2015 Author Share Posted December 4, 2015 Bon, une fois encore j'ai trouvé la solution à mon propre problème. Par contre, je ne sais pas si c'est la solution la plus élégante ou la plus propre. Dans mon constructeur, après parent::__construct(); je rajoute simplement $this->content .= $this->context->smarty->fetch($this->tpl); avec $this->tpl le chemin de mon fichier de template. Et pour faire bonne mesure, on peut rajouter ça derrière $this->context->controller->addCSS($this->css); $this->context->controller->addJquery(); $this->context->controller->addJS($this->js); Je sais pas si c'est le plus propre, mais ça marche. Par contre, pour info, si j'essaie de faire apparaitre ça après un tableau généré par Helper, ça me le fait apparaître avant. Personne n'est parfait... 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