[prev in list] [next in list] [prev in thread] [next in thread]
List: smarty-dev
Subject: [SMARTY-DEV] html_select_date alteration
From: Gavin BS Cowie <opensource () gavincowie ! com>
Date: 2003-03-31 7:35:53
[Download RAW message or body]
I had need to make changes to the html_select_date plugin.
Specifically, I needed the ability to have zero date selected if the date I was
passing was in fact empty. If I didn't, then when my form was submitted I would
have got todays date - I needed to keep that date empty by default if it was
originally empty and with the current setup that's not possible.
I noticed that passing "-1" as the "time" value would give me a way to retain
the useful "give the current date if no date passed" feature.
Here's my html_select_date function call :
{html_select_date prefix="payment_" time=$os.payment_date|default:-1}
so if there hasn't been a payment_date, make sure we don't suggest one.
Several changes are required in the function.html_select_date.php file :
1. Add $month_names[] = "...";
below $month_names = array();
2. change
'values' => range(1, 12), to
'values' => range(0, 12),
in the $month_result .= smarty_function_html_options call.
3. add array_unshift($days, "..");
below $days[$i] = sprintf($day_format, $days[$i]);
4. change
'values' => range(1, 31), to
'values' => range(0, 31),
in the $day_result .= smarty_function_html_options call.
5. add
$years_vals = $years;
$years_show = $years;
array_unshift($years_show, "....");
array_unshift($years_vals, "0");
below
if ($reverse_years) {
rsort($years, SORT_NUMERIC);
}
(for completeness should also deal with the "if ($year_as_text)" case too.)
6. change
'output' => $years,
'values' => $years,
to
'output' => $years_show,
'values' => $years_vals,
in the $year_result .= smarty_function_html_options call.
This way, I get a nice collection of ".. ... ...." in my dropdowns, and no date
data gets passed back by accident.
Cheers,
Gavin
--
Smarty Development Mailing List (http://smarty.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic