lumo:creation_plugin_dokuwiki_namespacelogo:accueil
Ceci est une ancienne révision du document !
Création plugin Dokuwiki namespace_logo
plugin.info.txt
base namespacelogo author Votrenom email votre@email.com date 2026-03-16 name Namespace Logo desc Affiche un logo spécifique par namespace
action.php
<?php /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * @author Votrenom */ class action_plugin_namespacelogo extends DokuWiki_Action_Plugin { /** * Enregistrer les hooks */ public function register(Doku_Event_Handler $controller) { // Intercepter le rendu de l'en-tête du template $controller->register_hook('TPL_HEADER_OUTPUT', 'BEFORE', $this, '_injectNamespaceLogo'); } /** * Injecter le logo du namespace dans l'en-tête */ public function _injectNamespaceLogo(Doku_Event $event, $param) { global $ID; // Récupérer le namespace actuel $ns = getNS($ID); // Si pas de namespace (racine), on utilise le logo global if (empty($ns)) { return; } // Chemin vers le logo dans le namespace $logoPath = ':' . $ns . ':logo.png'; // Vérifier si le fichier existe dans le Media Manager if (@media_exists($logoPath)) { // Générer l'URL de l'image $imgUrl = ml($logoPath); // Créer le HTML du logo $logoHtml = '<div class="ns-logo-container">' . '<img src="' . $imgUrl . '" ' . 'alt="Logo ' . hsc($ns) . '" ' . 'class="ns-logo" ' . 'id="namespace-logo" />' . '</div>'; // Ajouter à la variable globale que le template pourra utiliser $GLOBALS['NS_LOGO_HTML'] = $logoHtml; } } }
helper.php
lumo/creation_plugin_dokuwiki_namespacelogo/accueil.1773681635.txt.gz · Dernière modification : de estro
