Introduction
Ce document a pour but de présenter les éléments du template principal et la façon de le configurer.
Préambule
Copix utilise un pattern de type "2 Step View ", c'est à dire que le contenu final est (la plupart du temps) généré en deux temps.
Le premier temps est accordé à votre Action qui aura pour rôle de générer la partie centrale du contenu.
Le second temps est accordé au contrôleur de Copix, qui aura pour objectif d'assigner la charte globale du projet (éléments de menu, en tête, pied de page et plus généralement tous les éléments systématiques dans la charte de votre application).
Ainsi, vous utiliserez toujours deux templates
- Le template de l'action que vous spécifiez à chaque retour (return _arPpo ($ppo, 'templateDeLAction.tpl));
- Le template principal (dont il est question ici) configuré pour être choisi automatiquement
Configuration
En standard
Avec l'installation par défaut de Copix, le template principal correspond au fichier project/modules/stable/default/templates/main.php comme template principal.
Ce dernier est configuré dans le fichier de configuration copix.conf.php
//Template principal $config->mainTemplate = 'default|main.php';
Rappel: la syntaxe 'default|main.php' est une syntaxe qui se retrouve souvent dans Copix et qui désigne un élément dans un module particulier. Ici, on désigne l'élément main.php du module default.
Pour tester
Faites une copie du fichier main.php dans main_test.php
Si vous souhaitez tester l'utilisation d'un autre template principal, n'hésitez pas à copier le fichier project/modules/stable/default/templates/main.php vers project/modules/stable/default/templates/main_test.php.
Dans le fichier de configuration, modifiez la ligne correspondant au template principal pour refléter ce changement.
//Template principal $config->mainTemplate = 'default|main_test.php';
Modifiez le contenu du fichier main_test.php (inutile d'être trop inventif) et constatez que les changements sont bien pris en compte dans votre application.
Note: Vous verrez plus tard qu'il existe un système de thème graphique livré avec Copix pour vous permettre d'alterner automatiquement entre plusieurs chartes graphiques.
Contenu du fichier
Le template principal est proposé avec des variables pré-configurées que vous avez tout loisir d'utiliser (et qu'il est recommandé de placer à bon escient dans la plupart des cas).
TITLE_BAR
Cette variable contient ce que le développeur souhaite mettre dans la barre de titre du navigateur. Ainsi, la plupart du temps, il est recommandé de la placer dans la section <title> du template.
Dans le template
...Dans l'action
//dans un ActionGroup public function processMonAction (){ $ppo = new CopixPpo () $ppo->TITLE_BAR = 'Contenu de la barre de titre'; return _arPpo ($ppo, 'template_interieur.php'); }
Valeurs par défaut
Si le développeur ne spécifie aucune valeur pour TITLE_BAR, alors TITLE_BAR utilisera le paramètre 'default|titleBar' pour se remplir.
Vous pouvez modifier cette valeur via le module admin, dans l'administration des paramètres.
Par défaut, cette valeur est configurée avec [Copix]{$TITLE_PAGE}, ce qui signifie qu'au cas où aucune valeur n'est indiquée pour TITLE_BAR, alors Copix affichera pour TITLE_BAR la chaîne [Copix] suivie de la valeur renseignée pour TITLE_PAGE (voir plus loin la description de TITLE_PAGE).
Nous vous conseillons de mettre comme paramètre par défaut [Nom de votre application]{$TITLE_PAGE} pour cette valeur.
TITLE_PAGE
Cette variable contient ce que le développeur souhaite donner comme nom à sa page. C'est en gros la description en une phrase de ce que représente la page.
Généralement, nous vous conseillons de la placer dans un "h1" (qui sémantiquement correspond bien au titre de niveau 1)
Dans le template
...Dans l'action
//dans un ActionGroup public function processMonAction (){ $ppo = new CopixPpo () $ppo->TITLE_PAGE = 'Mon action'; return _arPpo ($ppo, 'template_interieur.php'); }
Valeurs par défaut
Par défaut, si le développeur à oublié d'indiquer un nom de page pour son action, Copix utilise le paramètre 'default|titlePage'. En standard, ce paramètre vaut "Copix Framework".
En général, nous vous conseillons de toujours spécifier un titre de page pour vos actions.
HTML_HEAD
Cette variable est indispensable si vous souhaitez utiliser la classe CopixHtmlHeader? et certains tags dans vos templates?.
En effet, Copix, lorsque vous faites appel à certaines fonctions, s'occupe pour vous de préparer l'inclusion des bonnes bibliothèques javascript / css pour vous.
C'est la variable HTML_HEAD du template principal qu'il va utiliser pour ce faire, d'où son caractère indispensable.
Elle devra se situer dans la partie "head" de votre template (généralement à la fin)
Dans le template
MAIN
La partie MAIN correspond à l'emplacement où le contenu généré par votre Action sera affiché.
Si vous souhaitez que votre action puisse afficher du contenu, cette variable est bien évidemment indispensable.
Dans le template
Dans l'action
//dans un ActionGroup public function processMonAction (){ $ppo = new CopixPpo () //... return _arPpo ($ppo, 'template_interieur.php');//template_interieur sera affiché dans la partie MAIN du template principal }
Aller plus loin
- Si vous voulez que soient assignées automatiquement d'autres variables à votre template principal, modifiez le ProjectController
- Allez voir comment créer des thèmes graphiques?
- Tout savoir sur PPO
