Présentation
La classe ProjectController est instanciée dans www/index.php et c'est elle qui prend en charge l'application complète. Sa déclaration est située dans project/project.inc.php.
C'est le Front Controller de l'application.
Cette classe hérite de CopixController et en standard ne surcharge que la méthode _processStandard.
Cette méthode processStandard a pour objectif de réaliser un certain nombre d'opérations communes à chaque action d'affichage (DISPLAY / PPO / DISPLAY_IN) et vous donne ainsi l'opportunité d'assigner des variables par défaut à votre template principal, ou alors de gérer un certain nombre d'élément de contexte (les menus, les pieds de page, ...)
Nous ne recommandons pas de surcharger d'autres méthodes que _processStandard.
_processStandard
Cette méthode reçoit en paramètre les données du template principal avant qu'on n'en demande l'affichage.
Ainsi, vous avez une dernière opportunité d'en modifier les données ou de rajouter des éléments à ce template.
En standard, vous verrez que c'est ici que nous assignons les valeurs par défaut de TITLE_PAGE et TITLE_BAR.
function _processStandard ($tplObject) {
$tplVars = $tplObject->getTemplateVars ();
if (! isset ($tplVars['TITLE_PAGE'])) {
$tplVars['TITLE_PAGE'] = CopixConfig::get ('|titlePage');
$tplObject->assign ('TITLE_PAGE', $tplVars['TITLE_PAGE']);
}
if (! isset ($tplVars['TITLE_BAR'])) {
$tplVars['TITLE_BAR'] = str_replace ('{$TITLE_PAGE}', $tplVars['TITLE_PAGE'], CopixConfig::get ('|titleBar'));
$tplObject->assign ('TITLE_BAR', $tplVars['TITLE_BAR']);
}
//...
Plus loin, vous voyez également que nous nous servons de ce processStandard pour assigner "en dur" quelques éléments de menu ($menuItems).
Ce n'est pas la seule façon de procéder
Cette méthode processStandard n'est pas la seule opportunité que vous avez de placer des éléments à votre template principal, même si c'est la méthode la plus rapide et efficace pour préparer des données systématiques propres à votre projet.
Vous pouvez également utiliser

