Pages: 1
Bonjour à tous,
Je cherche à changer la façon dont sont stockés les paramètres de mon thème.
Actuellement, j'avais un fichier local de config, pour lequel j'avais repris la manière de faire des thèmes Gally.
Pour le passage à Piwigo 2.2, je souhaite passer à une config via la BDD.
J'ai déja créé les pages d'admin pour cela.
J'arrive à créer un paramètre "stripped" dans la table config, à qui je donne une valeur tableau avec tous mes paramètres.
La mise à jour via l'interface d'admin marche nickel.
Maintenant la question que je me pose...
Comment utiliser les valeurs de cette table config de la BDD dans :
- les templates ?
- les scripts jQuery ?
Merci à ceux qui pourront m'aider... je n'ai absolument pas l'habitude d'aller chercher des valeurs dans la BDD.
Hors ligne
Merci.
J'ai donc mis un truc comme ça dans themeconf.inc.php :
add_event_handler('loc_begin_page_header', 'set_config_values'); function set_config_values() { global $conf, $template; $config = unserialize( $conf['stripped'] ); $template->assign( 'stripped', $config ); }
Ensuite :
- dans les tpl, je fais appel aux valeurs par $stripped.trucmuche
- pour le js, je garde le même config.js modifié en conséquence.
C'est nickel... tout marche bien.
Me reste plus qu'à migrer le thème en 2.2 ;)
Hors ligne
Je remonte le sujet, car je cherche un moyen que la config soit chargée de façon globale.
Pour, par exemple, qu'un thème enfant puisse surcharger une valeur de config, mais sans la modifier dans la conf.
J'ai essayé de mettre un $config dans la ligne global mais ça ne suffit pas.
Hors ligne
Bon, j'ai trouvé mon erreur.
C'est tout simplement l'ordre des chargements des themeconf.inc.php.
Celui du thème enfant est lu d'abord.
Et ensuite celui du thème parent.
C'est très logique, vu que le thème parent est défini dans le themeconf.inc.php du thème enfant...
Donc il me suffit de charger la conf dans le thème enfant, et de ne la charger dans le thème parent que si elle ne l'est pas déja.
Ca me permet d'imposer certaines valeur dans le thème enfant... parfait !
Hors ligne
Tu as la fonction array_merge très pratique pour ça...
Hors ligne
Pages: 1