smarty中常用方法实例总结 |
|
本文标签:smarty,常用方法 本文实例总结了smarty中常用方法 。分享给大家供大家参考 。具体如下: 1. Smarty中foreach的index、iteration的使用 .index包含当前数组索引,从零开始 。 index示例
{* The header block is output every five rows *}
{* 每五行输出一次头部区块 *}
<table>
{foreach from=$items key=myId item=i name=foo}
{if $smarty.foreach.foo.index % 5 == 0}
<tr><th>Title</th></tr>
{/if}
<tr><td>{$i.label}</td></tr>
{/foreach}
</table>
.iteration包含当前循环次数,与index不同,从1开始,每次循环增长1 。 iteration和index示例
{* this will output 0|1, 1|2, 2|3, ... etc *}
{* 该例将输出0|1, 1|2, 2|3, ... 等等 *}
{foreach from=$myArray item=i name=foo}
{$smarty.foreach.foo.index}|{$smarty.foreach.foo.iteration},
{/foreach}
2. smarty中section的嵌套使用 示例1:
$bookmarks = array(0 => array(name=> n1, url=>url2), 1 => array(name=> n21, url=>url22));
$categories= array(0 => array(cate_id=> n1, cate_name=>url2), 1 => array(cate_id=> n21, cate_name=>url22));
{section name=bm loop=$bookmarks}
Name:$bookmarks[bm].name
URL:$bookmarks[bm].url
{section name=cate loop=$categories[bm]}
$categories[bm][cate].cate_id
$categories[bm][cate].cate_name
{/section}
{/section}
::::
示例2:
$lists = array();
for(...){
$oneList[dateTime] = date("Y-m-d");
$oneList[detailList] = array();
for(....){
$oneList[detailList][$j][count] = $onecout;
$oneList[detailList][$j][title] = $onetitle;
}
$lists[] = $oneList;
}
:::::
{section name=loop loop=$lists}
{$lists[loop].dateTime}
{section name=loop2 loop=$lists[loop]["detailList"]}
{$lists[loop][detailList][loop2].title}
{$lists[loop]["detailList"][loop2].count}
{/section}
{/section}
3. 其他常用关键字 <{section loop= $varName[,start=$start,step=$setp,max=$max,$show=true]}> name: section的名称,不用加$; <{section}>的属性; index:循环下标 。默认为0;
<{section loop=$News}>
新闻编号:<{$News[loop].newID}><br>
新闻内容:<{$News[loop].newTitle}><br>
<{sectionelse}>
I am sorry
<{/section}>
if用法:
{if $list[row].name eq "1"}
星期1
{elseif $list[row].name=="2"}
星期2
{else}
默认
{/if}
4. smarty 系统变量 {* 显示URL中的page值($_GET)http://www.example.com/index.php?page=foo *} 以下是访问页面请求变量诸如get,post,cookies,server,enviroment和session变量的例子. 例如{$smarty.server.SERVER_NAME}取得服务器变量,{$smarty.env.PATH}取得系统环境变量path,{$smarty.request.username}取得get/post/cookies/server/env的复合变量 。 {$smarty.now}变量用于访问当前时间戳. {$smarty.const} {$smarty.capture} {$smarty.config} 例如 {$smarty.config.foo}就可以表示 {#foo#}. {$smarty.section}, {$smarty.foreach} 显示右分隔符$smarty}保留变量可以被用于访问一些特殊的模板变量,以下是全部页面请求变量 。 以下是访问页面请求变量诸如get,post,cookies,server,enviroment和session变量的例子. 例如{$smarty.server.SERVER_NAME}取得服务器变量,{$smarty.env.PATH}取得系统环境变量path,{$smarty.request.username}取得get/post/cookies/server/env的复合变量 。 {$smarty.now}变量用于访问当前时间戳. 你可以直接访问PHP常量. 例如{$smarty.const._MY_CONST_VAL} 希望本文所述对大家基于smarty模板的php程序设计有所帮助 。 |