Dans la 2.1.0RC2, il y aura possibilité pour les thèmes d'avoir leur propre page de configuration.
Je suis en train de finir ca...
Le principe: un dossier admin dans le theme (facultatif, évidemment).
Dans ce dossier, un fichier admin.inc.php (qui sera la page de configuration du thème), et un fichier maintain.inc.php (pour les fonctions à lancer lors de l'activation et la désactivation: theme_activate() et theme_deactivate(), exactement comme pour les plugins).
Ensuite, le code à exécuter se lancera dans le themeconf.inc.php (j'ai fait en sorte de mettre en cache le $themeconf pour éviter que le themeconf.inc.php soit inclus plusieurs fois, et provoque des erreurs de fonctions déjà définis).
Un exemple concret d'utilisation: la page de configuration de MontblancXL permettra de choisir d'afficher la bannière de page sur la page des images.
Hors ligne
je viens de voir ce topic !
très bonne idée P@t :-)
Hors ligne
Merci P@t, j'ai largement copié sur MontblancXL pour mon thème ^^
Hors ligne
je commence à regarder.
première remarque : si on définit une interface d'administration dans le thème parent, elle n'est pas reconnue pour les thèmes enfants.
Hors ligne
grum a écrit:
première remarque : si on définit une interface d'administration dans le thème parent, elle n'est pas reconnue pour les thèmes enfants.
Je ne comprend pas... si tu fais une interface d'admin pour un thème parent, il faudra passer par la page de configuration du thème parent.
Ensuite, vu que le themeconf.inc.php du thème parent sera chargé, la configuration spécifique sera aussi chargée...
Hors ligne
Ok, je comprend ton problème grum... tu veux faire une page d'admin pour gally-default... mais celui-ci n'est pas censé etre activable, et donc, pas configurable...
Je n'ai pas de solution à proposer... (pour l'instant!)
Hors ligne
Une remarque moi aussi : je pense qu'il faudrait ajouter des fonctions génériques plutôt que de devoir faire des requêtes sql, surtout que la dite fonction existe. Il suffit de la rendre disponible dans le thème.
Plutôt que :
$query = ' INSERT INTO ' . CONFIG_TABLE . ' (param,value,comment) VALUES ("MontblancXL" , "'.addslashes(serialize($config)).'" , "MontblancXL parameters");'; pwg_query($query);
conf_update_param('MontblancXL', addslashes(serialize($config)));
Il faut juste modifier cette fonction pour autoriser les commentaires.
Hors ligne
Je ne connaissait pas la fonction conf_update_param(), on en apprend tous les jours.
D'ailleurs, c'est surtout pour les plugins qu'elle est très pratique (meme si un plugin ou un thème peut préférer l'utilisation d'une table dédiée)
Hors ligne