Annonce

  •  » Styles
  •  » Config de thème dans la BDD : utilisation des valeurs (.tpl, .js)

#1 2011-03-20 22:29:44

Zaphod
Équipe Piwigo
Toulouse
2006-11-13
2422

Config de thème dans la BDD : utilisation des valeurs (.tpl, .js)

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

#2 2011-03-21 00:04:50

P@t
Équipe Piwigo
Nice
2007-06-13
5694

Re: Config de thème dans la BDD : utilisation des valeurs (.tpl, .js)

Code:

global $conf, $template;

$config = unserialize( $conf['stripped'] );
$template->assign( 'stripped', $config );

Jette un œil à MontblancXL.


P@t

Hors ligne

#3 2011-03-21 21:45:47

Zaphod
Équipe Piwigo
Toulouse
2006-11-13
2422

Re: Config de thème dans la BDD : utilisation des valeurs (.tpl, .js)

Merci.

J'ai donc mis un truc comme ça dans themeconf.inc.php :

Code:

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

#4 2011-09-19 08:42:46

Zaphod
Équipe Piwigo
Toulouse
2006-11-13
2422

Re: Config de thème dans la BDD : utilisation des valeurs (.tpl, .js)

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

#5 2011-09-19 21:36:10

Zaphod
Équipe Piwigo
Toulouse
2006-11-13
2422

Re: Config de thème dans la BDD : utilisation des valeurs (.tpl, .js)

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

#6 2011-09-20 00:14:21

P@t
Équipe Piwigo
Nice
2007-06-13
5694

Re: Config de thème dans la BDD : utilisation des valeurs (.tpl, .js)

Tu as la fonction array_merge très pratique pour ça...


P@t

Hors ligne

#7 2011-09-20 08:10:11

Zaphod
Équipe Piwigo
Toulouse
2006-11-13
2422

Re: Config de thème dans la BDD : utilisation des valeurs (.tpl, .js)

Effectivement, ça doit pouvoir me servir, vu que l'on choisit l'ordre d'écrasement en cas de clés communes.
Merci.

Hors ligne

#8 2011-09-20 20:38:31

Zaphod
Équipe Piwigo
Toulouse
2006-11-13
2422

Re: Config de thème dans la BDD : utilisation des valeurs (.tpl, .js)

Testé et approuvé... ça simplifie encore la définition de variables dans les thèmes enfants.

Hors ligne

  •  » Styles
  •  » Config de thème dans la BDD : utilisation des valeurs (.tpl, .js)

Pied de page des forums

Propulsé par FluxBB

github twitter facebook newsletter Faire un don Piwigo.org © 2002-2020 · Contact