Jump to content

[Premier module] 1.5 - Développement - MVC


Recommended Posts

Hello :)

 

J'essaye de me mettre au développement de module, mais j'ai quelques questions.

 

Je cherche à commencer simple :

  • Apparition du module dans la liste des modules -> Ok.
  • Installation / Activation / Création de table dans la BDD -> OK
  • Ajout du bouton Configurer le module, lié à la fonction get_content() -> OK
  • Affichage d'un formulaire avec plusieurs champs. -> Ok
  • Enregistrement des valeurs dans la table -> Badum Tss :(

Je me suis basé sur le module Canvas de PrestaEdit.

Sauf que dans son exemple, il s'occupe du back office dans un nouveau onglet, et donc un nouveau contrôleur, prévu pour fonctionner avec un modèle.

Donc :

  1. A partir du moment, ou il ne m'est pas nécessaire d'avoir une page dédié à mon module, et que tout peut se faire dans la page charger par "Configurer ce module". Dois-je a un moment créer un contrôleur qui étend ModuleAdminController ?
  2. Si non, comment procéder à l'insertion des données depuis mon get_content() ? Faut -il faire appelle malgré tout à un modèle ? Ou simplement se servir de fonction ? Et si oui, comment "charger" le modèle ?

La doc est vraiment mal remplis, que ça soit en anglais ou en français :/

Si besoin je mettrais en ligne les modifs que j'ai faites depuis le module Canvas de PrestaEdit.

 

Merci !

Link to comment
Share on other sites

Bonsoir,

 

Tout dépend de ce que tu souhaites faire avec ton module.

 

La gestion sql peut se faire facilement grâce au fork en utilisant le modèle existant de l'admin.

Si c'est une simple gestion ou plus complexe, et / ou qui n'a rien à voir avec le principe de table de données / listes, alors le modèle du fork admin t’embêtera plus qu'autre chose.

 

A+

Link to comment
Share on other sites

En l’occurrence, quelque chose de très simple pour commencer.

Des éditeurs libres tinymce, gérant le multilangue, et s'inscrivant dans mes tables en BDD.

Et un affichage en front ensuite.

 

Donc pas vraiment de table/list comme le modèle de PrestaEdit.

Link to comment
Share on other sites

Ok.

 

Cependant, a l'heure de la 1.5 la "structure" des modules est disons différentes maintenant (via le passage au MVC).

Est-ce une bonne chose de repartir sur un module encore "en 1.4", ou de toute façon, pour un module de cette simplicité autant rester sur la base du module Editorial ?

 

J'ai deux-trois idées/besoin de module, mais c'est vrai qu'ils ne seront jamais très compliqué...

Link to comment
Share on other sites

Je ne pense pas qu'il soit "bon" de se baser sur les modules 1.4 (ou devrais-je dire sur le style de module 1.4, étant donné que ceux de la version 1.5 ne soient pas encore mis au gout du jour).

 

Il n'est par contre pas obligatoire d'utiliser un ModuleAdminController à part, mais il est possible d'utiliser un Model de son choix (il faudra réaliser un include de la classe correspondante dans le fichier du module) et lors du postProcess lié au module, il "suffit" simplement d'instancier ce modèle et de lui faire correspondre les bonnes données, par exemple.

 

Je ne sais pas trop si j'ai été clair, sur le coup. Oui ?

Link to comment
Share on other sites

Merci,

histoire de partir sur de bonne base, j'essayerais de rester sur du MVC tout de même.

Je vais essayer de mettre en pratique l'idée de J. Danse.

C'est ce que je cherchais à faire à la base.

Par contre, Prestashop n'a pas de syntaxe pour charger un modèle ?

Ca se fait via un include tout simplement ?

Link to comment
Share on other sites

Ca se fait via un include tout simplement ?

 

Arf :/ si tu poses ce type de question, c'est qu'il te manque d'autres cordes à ton arc.

Je te propose de te diriger d'abord :

  1. Apprends à créer un module simple de type "editorial" pour connaitre les limites de la classe Module
  2. Imprègne toi la doc pour comprendre l'usage du "context" de prestashop
  3. Oriente toi sur la mise en place d'un "controller" en front, en admin depuis un module (toujours dans la doc)

Link to comment
Share on other sites

  1. Apprends à créer un module simple de type "editorial" pour connaitre les limites de la classe Module
  2. Imprègne toi la doc pour comprendre l'usage du "context" de prestashop
  3. Oriente toi sur la mise en place d'un "controller" en front, en admin depuis un module (toujours dans la doc)

 

D'acc.

Le tuto de la doc (comment créer un module), est a jour sur la 1.5, et va jusqu’à l'implantation d'un controller en front.

Par contre, il est super light sur la gestion de donnée en back. Il apprend tout juste a mettre a jour une valeur insérer dans ps_configuration... x)

Le context, pour ce que j'en ai retiré de ma lecture, serais en rapport avec le multilangue/multiboutique (en gros : "ou on est").

La j'ai peut être tout faux par contre :P J'irais lire la doc sur ça.

 

Pour le moment, je n'aurais pas besoin d'utiliser des controller en front. Ça ne serais que de l'affichage de donnée. Donc je vais plus me pencher sur le module editorial et essayer de faire les choses proprement. Tout faire dans l'editorial.php, je peux me débrouiller avec la doc, mais je suis moins au point sur le MVC.

 

Merci !

Link to comment
Share on other sites

Yep, j'étais tombé sur le tuto de prestaRocket.

C'est une des rares sources qu'on trouve en cherchant.

 

Je ne connaissais pas ton site par contre, je prendrais le temps de le visiter et de lire un peu :)

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...