Le displayer, comme son nom l'indique, est en charge de construire le contenu de la page pour le rendre au navigateur.
Ce dernier est défini dans le répertoire de gabox, dans le dossier common
.
Le displayer est utilisé dans le fichier front.php de Gabox, lorsque nous sommes sur le frontoffice donc.
Plusieurs cas sont gérés ( Workflow d'affichage) et permette au displayer d'aller exécuter un fichier PHP (vue, fichier physique, page CMS...) pour en récupérer le contenu.
Le Displayer contient au même titre que la GenClass un tableau avec l'ensemble des collectors du projet. Ceci permet d'y accéder simplement à l'intérieur des vues ou des controllers.
Ce n'est qu'en fin de process que le Displayer concatène les header et footer au contenu. Il est donc possible d'intervenir tardivement sur le header et le footer, pour par exemple modifier les librairies ou les métas en fonction de certaines conditions.
Cette méthode inclut le fichier passé en paramètre, et en utilisant la bufferisation de sortie (ob_start / ob_end_clean) renvoie le contenu correspondant.
Si un dossier de thème est spécifié, alors le Displayer utilise ce dernier à la place du dossier par défaut.
includeBlock prend en paramètres le nom du bloc, ainsi qu'un tableau de variables éventuel.
Les variables passées seront alors disponibles dans la propriété blockVars du Displayer ( $this->blocksVars[$blockName]
).
Le nom du bloc est utilisé pour inclure le fichier PHP de même nom (s'il existe) dans les dossiers blocks
include CONTROLLER_DIR . 'blocks/' . $blockName . '.php'
)include VIEWS_DIR . 'blocks/' . $blockName . '.php'
)Cette méthode permet d'aller chercher un contenu du collector contents
(souvent en utilisant un hook via le premier paramètre de la méthode), d'assigner ce contenu au tableau contents, puis d'appeler le template associé.
Les contenus et les templates de contenu peuvent être gérés directement dans le backoffice.
Cela permet depuis les vues d'incorporer des blocs de contenu dont la position est fixe, et qui changeront peu dans le temps.
Cette méthode est appelée en fin de process de construction de la page. Elle concatène le header et le footer au contenu.