上接smarty中的自定义函数(二)
11、html_select_date
日期
<{html_select_date}>
<{*
解析后的html代码
<select name="Date_Month">
<option label="January" value="01">January</option>
<option label="February" value="02">February</option>
<option label="March" value="03">March</option>
<option label="April" value="04" selected="selected">April</option>
<option label="May" value="05">May</option>
<option label="June" value="06">June</option>
<option label="July" value="07">July</option>
<option label="August" value="08">August</option>
<option label="September" value="09">September</option>
<option label="October" value="10">October</option>
<option label="November" value="11">November</option>
<option label="December" value="12">December</option>
</select>
<select name="Date_Day">
<option label="01" value="1">01</option>
<option label="02" value="2">02</option>
<option label="03" value="3">03</option>
<option label="04" value="4">04</option>
<option label="05" value="5">05</option>
<option label="06" value="6">06</option>
<option label="07" value="7">07</option>
<option label="08" value="8">08</option>
<option label="09" value="9">09</option>
<option label="10" value="10">10</option>
<option label="11" value="11">11</option>
<option label="12" value="12">12</option>
<option label="13" value="13">13</option>
<option label="14" value="14">14</option>
<option label="15" value="15">15</option>
<option label="16" value="16">16</option>
<option label="17" value="17">17</option>
<option label="18" value="18">18</option>
<option label="19" value="19">19</option>
<option label="20" value="20">20</option>
<option label="21" value="21">21</option>
<option label="22" value="22">22</option>
<option label="23" value="23">23</option>
<option label="24" value="24">24</option>
<option label="25" value="25">25</option>
<option label="26" value="26">26</option>
<option label="27" value="27" selected="selected">27</option>
<option label="28" value="28">28</option>
<option label="29" value="29">29</option>
<option label="30" value="30">30</option>
<option label="31" value="31">31</option>
</select>
<select name="Date_Year">
<option label="2012" value="2012" selected="selected">2012</option>
</select>
*}>
<br>
<br>
<{*
prefix,每个select的name属性值的前缀,默认为Date_
time,显示的类型
start_year,相对于现在年份的相对年份,+/-年数,也就是下拉列表第一个年份
end_year,相对于现在年份的相对年份,+/-年数,也就是下拉列表最后一个年份
display_years,是否显示年
display_months,是否显示月
display_days,是否显示天
month_format,月的显示方法,%m,数字的月份,默认=%B(英文简写),参考PHP中的strftime
day_format,天的显示方法,参考PHP中的sprintf
day_value_format,天的显示方法,sprintf
month_value_format,月的显示方式,strftime
year_as_text,是否以文本的形式显示年份,默认为false,如果为真,显示为input type=text
reverse_years,是否倒序显示年份
field_array,如果指定了名称,选定的区域将以[Day],[Year],[Month]的形式返回给PHP
day_size,为day标签加大小属性,天 在下拉列表框中显示的个数
month_size,为year标签加大小属性,月 在下拉列表框中显示的个数
year_size,为year标签加大小属性,年 在下拉列表框中显示的个数、
all_extra,为所有的标签加属性,eg,all_extra='class="date"',为所有select加class=date
day_extra,为day标签加属性
month_extra,为month标签加属性
year_extra,为year标签加属性
field_oreder,年月日显示的顺序,默认为MDY
field_separator,年月日后面的分隔符
*}>
<{html_select_date time=YYYY-MM-DD start_year="-10" end_year="+10" display_years=true month_format=%m}>
<br>
<br>
<{html_select_date month_format=%m year_as_text=true}>
<br>
<br>
<{html_select_date start_year="-10" end_year="+10" month_format=%m all_extra='class="date"' field_order=YMD}>
<br>
运行结果:
![](https://img-my.csdn.net/uploads/201204/27/1335502485_2667.jpg)
12、html_table
表格
$arr = array(001,002,003,004,005,006,007,008,009);
$lun = array('bgcolor="#ccc"','bgcolor="#eee"');
$smarty->assign('arr',$arr);
$smarty->assign('lun',$lun);
$smarty->display('html_table.html');
html_table.html
<{*
loop,必选,遍历数组的数据来源
cols,表格的列数
table_attr,为表格的加属性,
eg,table_attr='width="100px"'
若同时添加table_attr,只有最后一个才生效,后面会覆盖前面的
tr_attr,为tr加属性或者轮转数组
td_attr,为td加属性或者轮转数组
trailpad,最后一行加数据
hdir,行的对齐方式left,right(默认)
vdir,列的对齐方式up(默认),down
*}>
<{html_table loop=$arr table_attr='width="100px"' tr_attr=$lun}>
<{*
解析后的html代码
<table width="100px">
<tbody>
<tr bgcolor="#ccc">
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr bgcolor="#eee">
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr bgcolor="#ccc">
<td>7</td>
<td>0</td>
<td>0</td>
</tr>
</tbody>
</table>
*}>
运行结果:
![](https://img-my.csdn.net/uploads/201204/27/1335505332_1773.jpg)
13、html_time
时间
<{*
prefix,select的name属性的前缀,默认为Time_
time,时间类型,php中的date/time
display_hours,是否显示小时
display_minutes,是否显示分钟
display_seconds,是否显示秒
display_meridian,是否显示(上午/下午)
use_24_hours,是否使用24小时制式
minute_interval,分钟下拉列表的间隔
second_interval,秒 下拉列表的间隔
field_array,输出到该值指定的数组
all_extra,为所有的select加属性
hour_extra,为 小时 的select加属性
minute_extra,为 分钟 的select加属性
second_extra,为 秒钟 的select加属性
meridian_extra,为 上午/下午 的select加属性
*}>
<{html_select_time minute_interval=2}>
运行结果:
14、math
数学运算
math.php
$xpx = 100;
$ypx = 200;
$smarty->assign('xpx',$xpx);
$smarty->assign('ypx',$ypx);
$smarty->display('math.html');
math.html
<{*
equation,必选,计算的表达式
format,输出结果的格式
assign,输出结果存放到一个变量中去
var,计算表达式的用到的变量及值
*}>
<{math equation="xpx * ypx" xpx=$xpx ypx=$ypx assign=rs}>
分辨率:<{$rs}>
运行结果:分辨率:20000
popup_init/popup 与js共用,提示窗口等
textformat格式化文本.,该函数主要清理空格和特殊字符,对段落按单词边界换行和行缩进等段落格式化处理.