[prev in list] [next in list] [prev in thread] [next in thread]
List: smarty-dev
Subject: [SMARTY-DEV] Some changes to Smarty
From: Piotr Klaban <makler+smarty-dev () man ! torun ! pl>
Date: 2002-11-14 10:48:33
[Download RAW message or body]
Hi,
I have created some new Smarty plugins, and two patches to other smarty
plugins. There are too many lines to post it here, that is why I made
it available at
http://www.klaban.torun.pl/patches/smarty/
There are available the following plugins:
1. Assign smart variables from PHP eval'ed values:
function.assign_php.php
function.eval_php.php
Example of usage:
{assign_php var="colorarr"
value="array('#FFFFFF','#AAAAAA','#BBBBBB','#C0C0C0')"}
{eval_php assign="coloridx" var="rand(0,3)"}
<font color="{$colorarr.$coloridx}">Test</font>
2. Localization (changed plugins):
modifier.date_format.php (not new plugin, only patched)
function.html_select_date.php (new 'locale_time' parameter)
{$smarty.now|date_format:"%e %B %Y %T":"":"PL"} // date in Polish
{$smarty.now|date_format:"%e %B %Y %T":"":"DE"} // date in German
^^^^ - additional locale argument
Select date in Polish with Polish field order:
{html_select_date locale_time="pl" field_order="DMY"}
Select date in English (if web server locale is not 'en'):
{html_select_date locale_time="en"}
3. New plugins - presenting arrays as a set of INPUT HTML elements
either radio boxes or checkbox-es (similar to html_options):
function.html_radio.php
function.html_checkbox.php
Example usage (similar to html_options; new 'name' parameter):
{html_radio name="test-radio[]" values=$vals
selected=$selected output=$output}
{html_checkbox name="test-checkbox[]" values=$vals
selected=$selected output=$output}
gives e.g.:
<input type="radio" name="test-radio[]" value="1" /> A<br>
<input type="radio" name="test-radio[]" value="2" checked="checked" /> B<br>
<input type="radio" name="test-radio[]" value="3" checked="checked" /> C<br>
<input type="checkbox" name="test-checkbox[]" value="1" /> A<br>
<input type="checkbox" name="test-checkbox[]" value="2" checked="checked" /> B<br>
<input type="checkbox" name="test-checkbox[]" value="3" checked="checked" /> C<br>
You can also add all_extra parameter. E.g. all_extra="onClick='...'"
4. APPENDING VALUES (function.append.php and function.strcat.php)
Documentation is not clear in the Chapter 13, about what 'append'
method can do. I thought that it is a mthod for concatenation,
like a dot in PHP. What I realize is that append makes an ARRAY
and appends new value as a last item of the array.
BTW in append_by_ref in Chapter 13 there is a spell mistake -
Technical note talks about assign_by_append() while it should be
append_by_ref(), and example is 'void assign()' while it should be
append_by_ref().
Last two new plugins:
function.append.php - calls $smarty->append() on a given variable
function.strcat.phps - adds new value to the end of the string variable
Example usage:
{assign var="name" value="Smarty"}
{strcat var="name" value=" Template"}
{$name}
gives output: 'Smarty Template'
Best regards,
--
Piotr Klaban
--
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