文档介绍:在smarty中如果要输出数组中单个的值,.[索引值]
当键为字符串,。当键为数字,.[索引值]。
smarty标签的定界符{}与css的{}冲突的解决办法:
、修改smarty默认定界符
、用{literal}{/literal}标签来告诉smarty此处照常输出
在smarty中assign可以给模板赋值。assign的用法:
、$smarty->assign(‘变量名’,值)给html模板单个赋值
、$smarty->assign(数组)给html模板多个赋值,smarty会把每个值赋到以相应的键为名称的标签上去。
、$smarty->append(‘变量名’,值)可以连着某一个标签赋多个值。在模板中要用{$名称[索引]}。它是把‘变量名’对应的值放入一个数组中去
4)、对象在模板中的用法是:$标签名->变量名或$标签名->方法名()。不推荐在模板里调用函数和方法
5、smarty系统保留变量
1)、,如:$
2)、$
3)、$
4)、$
引用常量的方法:$
smarty中配置文件中的配置变量(如不想从数据库读的那些数据,可以写到配置文件里去)
注意:1)、
2)、配置文件的写法:选项1=值1,选项2=值2
引入配置文件的方法:{config_load file=’文件名’}一般写在页面最开头
读取配置文件的方法:{$}或{#变量名#}
写入配置文件的目录:$smarty->config_dir
smarty中html模板中的逻辑运算:{if 条件}
{内容}
{else if 条件}这个可以没有
{内容}
{else}这个可以没有
{内容}
{/if}
smarty中html模板中的循环:
for循环的用法:
{for 初始条件 to 结束条件}
{内容}
{/for}
{for 初始条件 to 结束条件 step 数字}step是步长,即由于到大每一步增长的幅度
{内容}
{/for}
在for、foreach循环中变量名***@total可以获取循环的总次数,变量名***@iteration可以获取当前是循环中的第几次,变量名***@first可以知道当前循环是第一次循环(其实它是一个布尔值,第一次循环时为真),变量名***@last可以知道当前循环是最后一次循环。如:
{for $i=1 to 10}
{$i},当前是第{$******@iteration}次循环
{/for}
总共循环了{$******@total}次!
while的用法:
{while 条件}
{内容}
{/while}
foreach的用法:
{foreach source as $key =>$value}
{内容}
{/foreach}
section的用法:
{section loop=$goods name=gs step=数字}
{内容}
{/section}
解释:循环$goods数组,把数组中的每个单元赋给gs。loop和name是必须要有的。
在html模板中的使用的方法:
变量调节器,是在html模板中修改变量的显示形式的一种功能(如把时间截转换成日期)
、date_format在html模板中的应用:时间截|date_format:”%Y-%m-%d %H:%M:%S”
、upper 在html模板中的应用:变量名|upper可以将字符串全部转化为大写
、lower在html模板中的应用:变量名|lower可以将字符串全部转化为大写
smarty缓存的用法:
开始缓存$smarty->caching = true
配置缓存的生命周期$smarty->cache_lifetime = 3600(以秒为单位)
设置缓存目录,用于存储缓存文件$smarty->cache _dir= ‘’
判断缓存是否成功$smarty->isCached(‘html模板’)
输出
在smarty中想控制局部不缓存的方法:
、在标签中控制,该标签不缓存{$标签 nocache}
、在整个html标签中控制:{nocache}<h1>内容</h1>{/nocache}
、在php中赋值时就控制不缓存: $smarty->assign(‘time’,$time,true)
、得到函数