templates.yaml
Afin d'évité des éventuelles conflits entre les plugins et le thème, il est possible de limiter l'utilisation de l'attribut #[Template].
Par défaut, tous les templates sont activés et autorisé. De même, le theme_lock est par défaut à false permettant ainsi à tous les plugins de créer des templates pour le thème.
theme_lock: false # Permet de limité l'utilisation de l'attribut #[Template] uniquement dans le projet du thème allowed_templates: # Liste des ID de template autorisés à être injecté par un plugin malgré le theme_lock à true - elementum.404 # Gestion des 404 par Elementum. manage_templates_activation: # Permet de forcer l'activation ou la désactivation d'un template template_1: false # Désactive le template_1 custom_templates: # Créer des modèles de pages mon_modele: Premier modèle de page
La désactivation peut également se faire en passant par un controller en récupérant le service templates et en appelant la méthode disableTemplate comme suivant :
$this->templates()->disableTemplate('template_id');
Il est préférable d'utiliser l'attribut #[Kernel] pour executer ce code.
Les modèles de pages peuvent être créer et utiliser sans être nécessairement lié à une template en particulier. Si aucun template utilise le modèle, le template de page par défaut sera appliqué.
Cette logique permet de pouvoir étiqueté des pages car le nom du modèle est spécifié dans le listing des pages.