Egx_Tech Posted November 20, 2014 Share Posted November 20, 2014 (edited) Bonjour à tous, Alors voilà mon problème, j'ai l'habitude de faire des modules coté Front et là je dois en faire un coté Admin.J'ai regardé la doc Prestashop grâce à laquelle j'ai réussi à afficher une page configuration dans l'admin pour mon module, grâce aux méthode getContent() et renderForm().Ce que j'aimerais c'est "lié" un controller qui s'occuperait d'appeler un tpl coté Admin, plus propre et MVC alors que là je traite tout dans mon fichier monModule.php à la racine.Enfait pour résumer voici le fonctionnement :dans la liste des modules, sur mon module je clique sur "configurer" et là j'arrive sur une page dans l'admin où ensuite je récupererai des infos en BDD et les afficherai et pourrait les éditer.J'ai vu que généralement en Admin on crée un nouvel onglet sauf que moi tout doit se faire dans "configurer" . Du coup quelle est la procédure pour lié mon controller ?Merci d'avance !EDIT : j'ai essayé de créér un nouvel onglet quand même dans l'admin et quand je clique dessus j'ai le droit à une erreur "controller not found" Alors que j'ai : monmodule.php et /controllers/admin/AdminMonModuleController.php je ne comprends pas Edited November 20, 2014 by Egx_Tech (see edit history) Link to comment Share on other sites More sharing options...
Egx_Tech Posted November 20, 2014 Author Share Posted November 20, 2014 J'ai réussi à avoir d'une part : - le lien "configurer" sur mon module (module admin je rappelle) grâce à la méthode getContent() d'autre part : - un nouvel onglet dans l'admin avec le nom de mon module (grâce à new Tab()) menant vers une page persole problème c'est que j'aimerais que ces deux pages soient les mêmes. Je peux faire une redirection de l'une vers l'autre et vice versa mais c'est pas très propre.J'ai essayé d'afficher un tpl mais ça ne marche pas :/ dans mon controller j'ai essayé setTemplate (page blanche) ou display mais la j'ai le menu du back office qui se duplique ...Ce que j'aimerais c'est que le lien "configurer" et le lien "nouvel onglet du module dans l'admin" menent vers la même page de configuration du module. Si quelqu'un sait comment faire, merci ! Link to comment Share on other sites More sharing options...
samyha Posted November 20, 2014 Share Posted November 20, 2014 Hello, Ce n'est pas la bonne section pour ton post. Je le déplace dans la section "développement", tu auras certainement plus de réponses.Bonne journée ! Link to comment Share on other sites More sharing options...
prestasafe Posted November 20, 2014 Share Posted November 20, 2014 Bonsoir, Il est possible d'afficher un TPL dans l'admin, il suffit de faire un return dans le getContent() ex: return $this->display($this->path_,'views/admin.tpl'); Ensuite pour le lien je me renseigne et je reviens vers toi. Link to comment Share on other sites More sharing options...
Egx_Tech Posted November 21, 2014 Author Share Posted November 21, 2014 Merci, oui le display fonctionne dans le getContent() mais est il possible de lier un controller à mon fichier php (à la racine du module) ? ou alors mettre getContent() dans un controller. Je cherche à rendre la configuration de mon module en MVC. Idéalement quand on clique sur "configurer" j'aimerais que derrière ce soit un controller et un tpl qui tournent. Et non mettre le tout dans le fichier php à la racine de mon module. Désolé pour les explications c'est pas facile à expliquer justement ^^ mais merci ! Link to comment Share on other sites More sharing options...
prestasafe Posted November 21, 2014 Share Posted November 21, 2014 Le getContent() est prévu pour une configuration "simple", après si tu souhaites faire tourner un controller entier sur le module, je te conseille de t'inspirer du code de PrestaEdit avec le module d'example qui est super bien foutu et qui te montre un peu tous ce que tu peux faire avec le MVC de Prestashop https://github.com/PrestaEdit/Canvas-Module-Prestashop-15 Le module est pour une version 1.5 j'ai pas tester pour la 1.6, y'a des chances que ça marche. Personnelement j'ai déjà fait un module en MVC en respectant l'API de prestashop et je trouve que c'est vraiment compliqué pour grand chose. Maintenant je renvoi tout sur une view smarty et je m'en sort beaucoup plus facilement. Peut être que tu peux faire dans ton controller une nouvelle instance de ton objet et afficher un methode public qui renvoi du HTML ? non ? Link to comment Share on other sites More sharing options...
Egx_Tech Posted November 21, 2014 Author Share Posted November 21, 2014 Merci pour le module de Presta Edit je vais regarder, d'ailleurs je n'arrive pas à l'installer pour le tester, j'ai essayé en uploadant le zip ou en placant le dossier dans /modules mais rien y fait , j'ai loupé qqch ?Sinon pour toi quelle est la meilleure solution pour moi ? j'ai juste besoin d'un module configurable et sur la page de configuration un tableau de données éditables avec possibilité d'en ajouter. D'ailleurs je pense que ce qu'il me faut utiliser c'est renderList() et non renderForm() mais je n'ai pas trouvé comment utiliser cette méthode Link to comment Share on other sites More sharing options...
prestasafe Posted November 21, 2014 Share Posted November 21, 2014 Pour le module de prestaedit, renomme le dossier par example et envoi le en ftp. Personnelement j'ai eu le même cas pour ce module http://addons.prestashop.com/fr/fonctionnalites-front-office-modules-prestashop/15528-protection-par-login.html je me suis tout simplement inspiré du blockreasurance qui correspondait exactement à ce que je voulais faire. D'apères ce que j'ai pu voir sur les forums, c'est pas forcement conseillé de faire comme ça mais personnelement je trouve ça très bien et très pratique. je te conseille de faire pareil. Link to comment Share on other sites More sharing options...
Egx_Tech Posted November 21, 2014 Author Share Posted November 21, 2014 Ça marche merci ! je vais regarder tout çaBonne journée ! 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