THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Pour notre module de marketplace, j'essaie de comprendre comment tout ça fonctionne. Je vais y passer un peu de temps, mais si quelqu'un à des explications à me donner, je suis preneur !

Merci d'avance ;-)

Offline


Le principe de base est e suivant :

1) L'internaute soumet une URL à thelia
2) Cette URL correpond à une route (cf. le fichier front.xml dans le module Front, ou routing.xml dans les aitres modules), qui permet d'invoquer un méthode d'un contrôleur (plus de détails dans la doc du composant Routing de Symfony)
3) Le contrôleur crée un évènement
4) le contrôleur dispatche l’évènement
5) un ou plusieurs listeners (les actions, cf. <services> dans config.xml du module Front) sont abonnés à cet événement. Lorsqu'il est dispatché,  une méthode du listener est invoquée, et réalise l'action demandée, généralement une mise à jour de base de données.
Note: L'évènement est traité par les listeners dans l'ordre de priorité définir dans la méthode getSubscribedEvents() du listener (plus dé détails dans la docu du dispatcher Symfony)
6) Le listener peut éventuellement compléter l'event
7) Le contrôleur à l'origine de l'event reprend la main
8) Le contrôleur génère une réponse, come une redirection ou le render d'un template.

Et on recommence....


OpenStudio Toulouse