Re: arrays in config files

messju mohr <[email protected]>
Newsgroups gmane.comp.php.smarty.devel
Message-ID <[email protected]>

> As promised, I worked onto the Config_File class, and here is attached the
> _set_config_var function, that is full backward compatible (tested). The
> function is nearly complete, it support :
> 
> _var5
> var[0]
> var.foo
> var.foo[3].bar
> var.foo.bar[2]

nice.

> now, I have to add the support of :
> 
> var[$Const]
>
> Where $Const is a numerical value that should be reached at
> $smarty.const.Const. I didn't explored this yet, but I don't know if the
> Config_File class access to $smarty.const.

Config-Files are for static content. IMO It's plain bad and wrong to add
this to Config_File.class.php.

If you need CONST-magic inside your Config-Files, write a resource
that does this replacement and read your config-files through it.

> One more things, now changes must be made on Smarty_Compiler class, and I
> thougt about one thing, when overwrite is off and then that _set_config_var
> create a sub-array, how are the config var accessed in template currently ?
> (#overwritted[0]# ???) Then I guess that the Smarty_Compiler class have a
> partial config vars array support ? (I must say that didn't really get how
> the whole thing works, but trust me I got how the _set_config_var works,
> you'll see on my function ;)

AFAIK, the only way to access these is {$smarty.config.overwritted[0]}.
And I think this should also be the first thing to do if you want to enable
config-vars-arrays in the template: Just remove the

$_max_index = 3;

limitation in the "config" case of Smarty_Compiler::_compile_smarty_ref()

That's much simpler and less prone to errors than extending the
#...#-syntax.

> [...]

-- 
Smarty Development Mailing List (http://smarty.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.