假如从smarty安装包中copy进来的libs文件目录重命名为smarty,以此目录为参考:
1. 在smarty目录的父目录下建立templates,templates_c,configs,cache目录(也就是说这几个新建的目录和smarty目录是同级目录)。以便Smarty进行编译和缓存。
2. 建立smarty_inc.php文件对smarty进行配置如下:(smarty_inc.php假如存放在smarty目录的父目录下)
// './'指smarty_inc.php的同级目录
include_once("./smarty/Smarty.class.php"); //包含smarty类文件
$smarty = new Smarty(); //建立smarty实例对象$smarty
$smarty->caching=true; //开发时不建议开启缓存
$smarty->template_dir="./templates"; //设置模板目录
$smarty->compile_dir="./templates_c"; //设置编译目录
$smarty->cache_dir="./cache"; //缓存文件夹
$smarty->cache_lifetime=60;
$smarty->left_delimiter = "<{"; //左定界符
$smarty->right_delimiter = "}>"; //右定界符
3. 新建php文件,
引用smarty_inc.php配置文件并创建Smarty对象,调用
模板
4. 在templates下建立模板 如:index.html 以上smarty配置结束,测试结束。
常用变量操作符
- capitalize [首字母大写]
- count_characters [计算字符数]
- cat [连接字符串]
- count_paragraphs [计算段落数]
- count_sentences [计算句数]
- count_words [计算词数]
- date_format [时间格式]
- default [默认]
- escape [转码]
- indent[缩进]
- lower[小写 ]
- nl2br[换行符替换成<br />]
- regex_replace[正则替换]
- replace[替换]
- spacify[插空]
- string_format[字符串格式化]
- strip[去除(多余空格)]
- strip_tags[去除html标签]
- truncate[截取]
- upper[大写]
- wordwrap[行宽约束]
{$name|capitalize }
内置函数(判断循环神马的最常用了,你懂的)
1、判断
2、循环
{foreach from=$name item=id}
{$id}
{/foreach}
或
{foreach key=j item=v from=$name }
{$j}: {$v}
{/foreach}
3、包含(引用页面固定的头尾都会用到的啦)
4、冲突处理(页面js用到大括号与smarty的大括号冲突怎么办)
{literal}
<script language=javascript>
</script>
{/literal}
literal 数据将被当作文本处理,此时模板将忽略其内部的所有字符信息. 该特性用 于显示有可能包含大括号等字符信息的 javascript 脚本
另外,strip标记处理数据的首尾空格和回车,可以避免一些浏览器兼容性问题