Skip to content

Latest commit

 

History

History
22 lines (17 loc) · 1.82 KB

page.md

File metadata and controls

22 lines (17 loc) · 1.82 KB

Créer un nouveau modèle de pages

Côté admin

Au préalable, connectez-vous avec le compte développeur et allez dans la section "Modèle de page" et créer en un nouveau, ATTENTION la clé de template doit être en un seul mot, ex: "list", "imageText", "newListOfArticles" ...

  1. Créer une nouvelle entité (et le repository) avec le nom du template + "Template", ex: "ListTemplate", "ImageTextTemplate" ...
  • Il ne faut pas oublier d'ajouter la liaison avec l'entité "Page" et celle avec l'entité "Template", des exemples de templates sont présents : src/Entity/------Template
  1. Dans l'entité src/Entity/Template ajouter une nouvelle constante avec la "clé de template" créé au préalable de l'étape 1.
  2. Créer une nouvelle migration : symfony console make:migration
  3. Faire la review de la migration et l'executer : symfony console doctrine:migrations:migrate -n
  4. Créer le FormType correspondant avec la nomenclature : nom de l'entité + "Type"
  5. Éditer le PageType en ajoutant dans l'event de "PRE_SET_DATA" une condition pour ce type de page
  • Dans la fonction manageElements() il y a des exemples
  1. Dans le src/Handler/PageHandler, il faut ajouter le nouveau type de template dans la fonction handleTemplate
  2. Si il y a une logique métier à implementer pour le nouveau Modèle de page, il faut l'ajouter dans le : src/Handler/PageHandler dans la fonction process

Côté utilisateur

  1. Modifier la fonction handlePage() dans le src/Controller/Front/Page/Read
  2. Créer un nouveau template twig avec comme nom, la clé de template créé depuis l'interface "Modèle de page" de l'espace d'administration, ex : "list.html.twig", "imageText.html.twig"
  • Des exemples sont présents via les autres templates