Le fichier Frontend.php fait partie du processus reconnu par le gestionnaire de modules, il est donc automatiquement pris en compte coté public si il existe.
- Il est placé dans le sous dossier
src
du module, - Il contient une classe du nom de
Frontend
, - Il est dans l'espace de nom PHP
Dotclear\Plugin\monPlugin
ouDotclear\Theme\monTheme
, - La classe doit étendre la classe Process,
- Seules les méthodes
init()
etprocess()
sont utilisées,
Généralement cette classe est utilisée pour préparer des variables nécessaires au fonctionnement du module, déclarer ses templates, ajouter ses behaviors, pour la partie publique des blogs.
Exemple du fichier Frontend.php du plugin blogroll de la distribution :
<?php
declare(strict_types=1);
namespace Dotclear\Plugin\blogroll;
use dcCore;
use Dotclear\Core\Process;
class Frontend extends Process
{
public static function init(): bool
{
return self::status(My::checkContext(My::FRONTEND));
}
public static function process(): bool
{
if (!self::status()) {
return false;
}
dcCore::app()->tpl->addValue('Blogroll', [FrontendTemplate::class, 'blogroll']);
dcCore::app()->tpl->addValue('BlogrollXbelLink', [FrontendTemplate::class, 'blogrollXbelLink']);
dcCore::app()->addBehaviors([
'initWidgets' => [Widgets::class, 'initWidgets'],
'initDefaultWidgets' => [Widgets::class, 'initDefaultWidgets'],
]);
return true;
}
}
Le contenu de ce document a été écrit suivant le code de la version 2.27 de Dotclear.
La discussion continue ailleurs
URL de rétrolien : https://dotclear.watch/trackback/26