Dotclear

Ticket #419 (closed enhancement: worksforme)

Opened 17 years ago

Last modified 17 years ago

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:1 Changed 17 years ago by bruno

Heu ... en fait j'ai l'impression que c'est déjà possible avec les global_settings... je me trompe ?

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 :)

Note: See TracTickets for help on using tickets.

Sites map