Re: [SMARTY-DEV] html_options
| From: | boots | Date: | Mon, 26 Feb 2007 16:12:20 +0000 |
| Subject: | Re: [SMARTY-DEV] html_options | ||
| References: | 1 | Groups: | php.smarty.dev |
| Request: | Send a blank email to php-smarty-dev+get-2981@lists.php.net to get a copy of this message | ||
--- Danilo Buerger <danilo@blizzz.org> wrote:
> messju mohr schrieb:
> > On Mon, Feb 26, 2007 at 02:53:20PM +0100, Danilo Buerger wrote:
> >>> It's the responsobility of the editor who inserts the {html_options}
> >>> into the template to declare it as multiple or not.
> >>>
> >>> the fact if an option list is single or multiple is most times rather
> >>> static, but the list of actually selected values is highly dynamic.
> >>>
> >> I can understand your point about the multiple part although i dont
> >> agree. However i dont see why you are going against dropping the
> >> array_map('strval'....) (which is unneccessary anyway) to make the
> >> plugin work better.
> >
> > the strval() is necessary to distinguish between "" and 0, like here:
> >
> > $smarty->assign('options', array('' => 'Please
> > Choose',
> > 0 => 0,
> > 1 => 1,
> > 2 => 2));
> >
> > $smarty->assign('selected', 0);
> >
> > ...
> >
> > {html_options name=foo options=$options selected=$selected}
> >
> >
>
> Ok this is a problem still to figure out however now this works
> incorrectly as well:
>
> $smarty->assign('options', array('' => 'Please Choose',
> 0 => 0,
> 1 => 1,
> 2 => 2));
>
> $smarty->assign('selected', false);
>
> false should match the array key 0 but matches the empty string.
Personally, I think the point is moot. Whether or not you can generally use
true/false as array keys, AFAIK, one can never get the PHP values true or false
back from a form post. In that light, one has no business specifying them when
they really mean to specify 0 or 1, not?
boots
____________________________________________________________________________________
Get your own web address.
Have a HUGE year through Yahoo! Small Business.
http://smallbusiness.yahoo.com/domains/?p=BESTDEAL