Ticket #419 (closed enhancement: worksforme)
Evolution des settings, valeurs par défaut
Reported by: | bruno | Owned by: | olivier |
---|---|---|---|
Priority: | normal | Milestone: | 2.1 |
Component: | module:plugins | Version: | 2.0 |
Severity: | normal | Keywords: | |
Cc: |
Description
Il pourrait être intéressant de permettre d'avoir des valeurs par défaut pour certains settings, sans pour autant avoir à les stocker en base.
Je m'explique : supposons qu"un plugin ait besoin de définir un paramètre blog-dépendant (par exemple une valeur déterminant le chemin vers l'URLHandler associé au plugin). Je sais que ce paramètre est dans la majorité des cas laissé à sa valeur par défaut. Par ailleurs, il peut être "surchargé" par un blog particulier pour ses propres besoins.
Serait-il possible d'avoir le comportement suivant :
- A son instanciation, Le plugin indique à $core->blog->settings les valeurs par défaut qu'il souhaiterait pour ses paramètres, sous forme d'un tableau ('param1'=>'valeur par défaut 1','param2'=>'valeur par défaut 2', ...)
- A chaque récupération d'un $core->blog->settings, soit settings renvoit la valeur du paramètre si il est défini en base, soit sa valeur par défaut (si elle a été transmise auparavant par le plugin) s'il ne l'est pas.
Ca éviterait un certain nombre de tests du type if (!empty($core->blog->setting->monsetting))...
Change History
comment:2 Changed 17 years ago by olivier
- Status changed from new to closed
- Resolution set to worksforme
Bah, un setting inexistant est nul, il suffit de tester ça et lui assigner une valeur. Il n'ira pas en base. Exemple:
if ($core->blog->settings->foo === null) { $core->blog->settings->foo = 1; }
Pouvoir faire ça est la raison pour laquelle j'avais refusé le ticket de leur enregistrement automatique :)
Heu ... en fait j'ai l'impression que c'est déjà possible avec les global_settings... je me trompe ?