[development] low hanging fruit for Drupal 6: variable defaults
Gabor Hojtsy
gabor at hojtsy.hu
Sat May 19 20:37:01 UTC 2007
A follow up to this is an issue by dww: http://drupal.org/node/145164
Although he reaches the conclusion that we need a hook_variable() from
another angle, the goal is the same after all. So people sympathizing /
against the effort, please use that issue!
Gabor
Gabor Hojtsy wrote:
> Hi,
>
> To be able to translate variables to multiple languages in Drupal
> nicely, we would need a small conceptual change, which would benefit all
> of the Drupal developers, so I am posting the call here in hopes we have
> someone or a small group to pick this task up.
>
> **We need a central place to define variable defaults**
>
> Simple! Now whenever you need a variable, you do
>
> variable_get('my_fine_var', 'my_default_value');
>
> The problem with this is that you need to repeat this multiple times,
> and of course there is a chance you need to modify it later on, so you
> need to find all places a variable is used. Not good. Remember the
> changes from bluemarine to garland, we have been fixing theme_default
> errors for days, finding out places where the variable was used...
>
> So we need a central place to define variable defaults. For Drupal 6
> this is enough now:
>
> hook_settings() {
> return array(
> 'my_fine_var' => 'my_default_value',
> );
> }
>
> Have fun with naming it hook_settings(), as far as I see, it is an
> appropriate name, and not taken at the moment :) So Drupal can do a
> module_invoke_all() on hook_settings() and collect defaults to all
> variables from the modules defining them. It gets easier and shorter to
> use variables:
>
> variable_get('my_fine_var');
>
> We can either cache the default vars as returned by the callback in the
> variable_get() function, or in the database among other variables, you
> get the idea. It is important to have all variables defined in
> hook_settings(), even if the default value is an empty string or array.
>
> Don't care yet about how this fits into translatable variables, because
> we can only follow up on that if this gets done. So someone please grab
> this issue and run with it ;)
>
> Gabor
>
More information about the development
mailing list