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
<?php
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;
}
}
}
action.php
lumo/creation_plugin_dokuwiki_namespacelogo/accueil.1773681376.txt.gz · Dernière modification : de estro
