Fichier Frontend d'un module

Billet

Le fichier Frontend.php, placé dans le dossier src du module, permet de préparer le nécessaire à son fonctionnement en partie public.

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 ou Dotclear\Theme\monTheme,
  • La classe doit étendre la classe Process,
  • Seules les méthodes init() et process() 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