templates.yaml
Afin d'éviter d'éventuels 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és. 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 limiter l'utilisation de l'attribut #[Template] uniquement dans le projet du thème allowed_templates: # Liste des ID de template autorisés à être injectés 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 exécuter ce code.
Les modèles de pages peuvent être créés et utilisés sans être nécessairement liés à un template en particulier. Si aucun template utilise le modèle, le template de page par défaut sera appliqué.
Cette logique permet de pouvoir étiqueter des pages car le nom du modèle est spécifié dans le listing des pages.