Smarty模板常见的简单应用分析


Posted in PHP onNovember 15, 2016

本文实例分析了Smarty模板常见的简单应用。分享给大家供大家参考,具体如下:

首先要将smarty这个类包含进来:

include_once '../libs/Smarty.class.php';

然后创一个Smarty对象:

$smarty = new Smarty;

可以自定义Smarty 的开始结束符,默认为{ }

$smarty->left_delimiter ='<<'; //左符号为 <<
$smarty->right_delimiter='>>'; //右符号 为 >>

最重要方法的好像是assign,如:

$smarty->assign('test',$te);
//将$test的值付给test,在模板页tpl中显示用{$test}

又如$arr=array(1,2,3);赋值仍是这样:

$smarty->assign('arr',$arr);

但在模板页显示时要借助foreach 或 section,foreach 用法如下:

{foreach item=item from=$arr key=ke name=foe}
 $item
{/foreach}
//此处的$item相当于$arr[$ke],foreach序列化{$smarty.foreach.foe.iteration}

而section 用法如下:

{section name='test' loop=$arr}
{$smarty.section.name.iteration}//使输出序列化,序号从1开始,index从0开始
{$arr[test]}
{/section}

最后最重要的一步操作千万不要忘记那就是:

$smarty->display('test.tpl');

下面说一些常用东西怎么样的在模板上显示

1.连接操作:

我叫{$str1|cat:"李白"};//输出结果就是:我叫 $str1 李白

2.当前日期:

{$str2|rdate_format:"Y%-m%-d%"} //输出结果格式化$str2日期,形如0000-00-00

3.缩进:

{$str3|indent:8:"*"}  //$str3前缩进8个* 默认缩进的是空格

4.大小写:

{$str4|lower} //$str4的小写形式
{$str4|upper} //$str4的大写形式

过滤:

{$url|escape:"url"} //对$url相关特殊字符进行替换
<tr bgcolor='{cycle values="#EBEBEB,#ACABAB"}'>//tr背景交替 颜色分别为#EBEBEB,#ACABAB

匹配替换:

{$str|regex_replace:"~[0-9]~":"asd"} //如果$str匹配[0-9]输出asd

替换

{$str|replace:"net":"com"} //将$str中的net全部替换成com

包含头模板文件:

{include file="top.tpl"}

调用time.inc.php里面的函数:

{insert name="getCurrentTime" assign="current_time" script="time.inc.php"}
  当前时间为{$current_time};
{/insert}

其中time.inc.php内容如下:

<?php
 function smarty_insert_getCurrentTime
 {
  return gmdate('l,j F Y g:i a T');//获得当前日期及时间
 }
?>

联系:

mailto{
mailto address="contact@smartyllc.com" subject="Smarty LLC Contact" encode="javascript"}

载入test.conf:

{conf_load file="test.conf" section="test"}
{#tt#}

test.conf内容如下:

[test]
tt = 12122

希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。

PHP 相关文章推荐
经典的PHPer为什么被认为是草根?
Apr 02 PHP
dedecms模版制作使用方法
Apr 03 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
Jun 13 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
Jun 20 PHP
FireFox浏览器使用Javascript上传大文件
Oct 30 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
Jun 13 PHP
php cookie名使用点号(句号)会被转换
Oct 23 PHP
PHP中使用循环实现的金字塔图形
Nov 08 PHP
Yii控制器中操作视图js的方法
Jul 04 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
php面向对象程序设计中self与static的区别分析
May 21 PHP
laravel5.6实现数值转换
Oct 23 PHP
Smarty日期时间操作方法示例
Nov 15 #PHP
Fleaphp常见函数功能与用法示例
Nov 15 #PHP
PHP+JS实现的商品秒杀倒计时用法示例
Nov 15 #PHP
php遍历、读取文件夹中图片并分页显示图片的方法
Nov 15 #PHP
thinkphp的dump函数无输出实例代码
Nov 15 #PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
Nov 15 #PHP
PHP递归遍历指定文件夹内的文件实现方法
Nov 15 #PHP
You might like
php通过function_exists检测函数是否存在的方法
2015/03/18 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
JavaScript Konami Code 实现代码
2009/07/29 Javascript
javascript 打印内容方法小结
2009/11/04 Javascript
js实现兼容IE6与IE7的DIV高度
2010/05/13 Javascript
各种页面定时跳转(倒计时跳转)代码总结
2013/10/24 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
react开发中如何使用require.ensure加载es6风格的组件
2017/05/09 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
详解JSONObject和JSONArray区别及基本用法
2017/10/25 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
微信小程序批量上传图片到七牛(推荐)
2019/12/19 Javascript
Nuxt.js 静态资源和打包的操作
2020/11/06 Javascript
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
[06:44]2014DOTA2国际邀请赛-钥匙体育馆开战 开幕式振奋人心
2014/07/19 DOTA
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
零基础学Python(一)Python环境安装
2014/08/20 Python
python3.5使用tkinter制作记事本
2016/06/20 Python
python实现txt文件格式转换为arff格式
2018/05/31 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
2019/04/29 Python
python cumsum函数的具体使用
2019/07/29 Python
python requests更换代理适用于IP频率限制的方法
2019/08/21 Python
python如何更新包
2020/06/11 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
阻止移动设备(手机、pad)浏览器双击放大网页的方法
2014/06/03 HTML / CSS
Yahoo-PHP面试题2
2014/12/06 面试题
职业生涯规划书的格式
2013/12/29 职场文书
妈妈的账单教学反思
2014/02/06 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
开会迟到检讨书范文
2015/05/06 职场文书
工作后的感想
2015/08/07 职场文书