Fork me on GitHub

Rapport de message :*
 

$helper et xoops_cp_header();

Titre du sujet : $helper et xoops_cp_header();
par JJDai sur 24/06/2022 18:01:29

Je viens enfin de comprendre un bug pernicieux.
dans le "header.php" de l'admin, il faut initialiser $helper pour pouvoir définir ensuite les Handler
dans mon cas ça se présente comme ça :
// Get instance of module
$helper XoopsModulesGlossaireHelper::getInstance();
$categoriesHandler $helper->getHandler('Categories');
$entriesHandler $helper->getHandler('Entries');
$myts MyTextSanitizer::getInstance();


ensuite il faut appeler la fonction xoops_cp_header(); pour les forms qui vont suivre.

Jusque là pas de soucis, sauf quand dans les préférence général de xoops on indique pour la le paramètre "Module utilisé pour votre page d'accueil" un module, "news" en l’occurrence pour moi (ce que je fait que très rarement je préfère un block qui sert de menu).
Bref du coup $helper ne pointe plus sur le module glossaire, mais sur le module news, ce qui est plutôt fâcheux car impossible de récupérer la config du module Glossaire.

Pour l'instant pour régler ce problème je redéfini $helper juste après la fonction xoops_cp_header, ce qui donne
// Get instance of module
$helper XoopsModulesGlossaireHelper::getInstance();
$categoriesHandler $helper->getHandler('Categories');
$entriesHandler $helper->getHandler('Entries');
$myts MyTextSanitizer::getInstance();

/*
    blablabbla
*/

xoops_cp_header(); // <=== et la $heper ppointe sur news

//et la $helper repointe sur glossaire
$helper XoopsModulesGlossaireHelper::getInstance();

/*
    blablabbla
*/


Je ne suis pas sur qu'on puisse corriger ça, le tout est de le savoir. Peut être appeler la fonction xoops_cp_header avant de définir $helper !!!
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

14 Personne(s) en ligne (9 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 14 | Plus ...