20150210--Smarty1-02

20150210--Smarty1-02

、设计篇

1Smarty注释

基本语法:

{*注释内容*}

示例代码:

wpsAACA.tmp

2、Smarty中的变量

1)从PHP中分配的变量(普通的变量、数组、对象)

基本语法:

$smarty->assign();

示例代码:

demo02.php

wpsAAFA.tmp

demo02.html

wpsAB1A.tmp

运行效果:

wpsAB2B.tmp

2)从配置文件中读取变量

基本语法:

wpsAB4B.tmp

在html静态模板页面,可以采用如下方式调用:

{config_load file=’配置文件名称‘}

{#配置文件中的标签名称#}

示例代码:

wpsAB7B.tmp

效果如下:

wpsAC56.tmp

3)在模板文件中创建

基本语法:

定义

{assign var=‘name’ value=‘value’}

{$name=‘zhangsan’}

调用

{$name}

示例代码:

wpsAC67.tmp

效果如下:

wpsAC78.tmp

3、Smarty中的保留变量

$smarty.get.page  相当于 $_GET[‘page’]

$smarty.post.page 相当于 $_POST[‘page’]

$smarty.cookies.username $_COOKIES[‘username’]

$smarty.server.SERVER_NAME $SERVER[‘SERVER_NAME’]

$smarty.env.Path 获取系统中的环境变量的Path路径

$smarty.session.id $_SESSION[‘id’]

$smarty.request.username $_REQUEST[‘username’]

{$smarty.now} :获取当前系统时间

{$smarty.const} :获取PHP中的常量

{$smarty.capture} :获取capture标签捕获的内容

{$smarty.config} :读取配置文件信息 {$smarty.config.title}

{$smarty.section} :获取section循环信息

{$smarty.template} :获取当前调用的静态模板名称

{$smarty.current_dir} :获取当前路径

{$smarty.version} :获取当前Smarty的版本号

{$smarty.ldelim}   =   {ldelim} :获取当前Smarty中的左分界符

{$smarty.rdelim}   =   {rdelim} :获取当前Smarty中的右分界符

示例代码:

demo03.html

wpsACD6.tmp

运行效果:

wpsAD06.tmp

4、变量调节器变量格式化工具)

1什么是变量调节器

答:变量调节器主要是对变量进行格式化

基本语法:

{变量|调节器:参数1:参数2:……}

2常用的变量调节器

{$var|capitalize} : 首字母大写

{$var|count_characters:true}  :计算字符长度,第二个参数true:计算空格

{$var|count_paragraphs} :计算段落数

{$var|count_sentences} :计算句子数

{$var|count_words} :计算词数

{$var|cat:var2} :连接字符串

{$var|date_format:”%Y%m%d”} :时间格式化 Y年m月d日 H小时M分钟S秒数

{$var|default:”value”} :设置默认值

{$var|escape} :转码,主要针对html代码

{$var|indent:10:”*”} :字符缩进

{$var|lower} :转化为小写

{$var|nl2br} :把\n转化为br标签

{$var|regex_replace:”/[\t\n]/”:””} :正则替换

{$var|replace:”aa”:”bb”} :字符替换

{$var|spacify:”^^”} :插空(在字符与字符之间插空)

{$var|string_format:”%d”} :字符串格式化 %s格式化为字符串 %d格式化为整数

{$var|strip: “*”} :去除多余的空格

{$var|strip_tags} :去除html标记

{$var|truncate:30:”…”} :截取字符

{$var|upper} :转化为大写

{$var|wordwrap:30:”<br>”} :行宽约束(每行只能显示多少个字符)

示例代码:

例1:

wpsAD27.tmp

例2:

wpsAD37.tmp

例3:

wpsAD67.tmp

例4:

wpsAD87.tmp

5、变量调节器组合应用

{$var|capitalize|truncate:30:”…”|replace:”aa”:”bb”}

答:首字母大写并截取30个字符并用…相接,并把字符串中的aa替换为bb

6、内建函数

1)capture

基本语法

{capture name=‘var’}

内容

{/capture}

{$smarty.capture.var}

功能:捕获一段内容但本次不输出

示例代码:

wpsADA8.tmp

运行效果:

wpsAE35.tmp

2)config_load

基本语法

{config_load file=’配置文件名称‘ section=’section节‘}

{#变量名称#}

{$smarty.config.变量名称}

示例代码:

wpsAEA4.tmp

运行效果:

wpsAEC4.tmp

3)foreach

基本语法:

foreach,foreachelse

{foreach from=数组

key=键

name=名称

item=内容 } 

{foreachelse}

{/foreach}

功能:实现对数组的遍历输出(类似foreach)

参数说明:

from:要遍历的数组

item:每次遍历时,系统会自动将遍历后的结果保存到item选项中

name:为foreach循环进行命名

key:保存循环时的键值

foreachelse:当要遍历的数组为空时,系统进入当前语句段

例1:遍历一维数组

示例代码

wpsAED4.tmp

效果:

wpsAEF5.tmp

例2:二维数组遍历

wpsAFB1.tmp

例3:键值key的使用

wpsAFD1.tmp

例4:foreachelse

wpsB011.tmp

说明:当数组为空时,系统自动转向foreachelse语句

foreach中的附加属性

$smarty.foreach.name.index      @index 获取当前循环索引

$smarty.foreach.name.iteration   @iteration 第几次循环(迭代)

$smarty.foreach.name.first @first      当第一次循环时,条件为真

$smarty.foreach.name.last   @last 当最后一次循环时,条件为真

$smarty.foreach.name.total   @total 获取循环的总次数

例5:参数name演示

wpsB070.tmp

效果如下:

wpsB090.tmp

例6:实现隔行变色效果

示例代码:

wpsB0C0.tmp

运行效果:

wpsB0E0.tmp

4)include

基本语法

{include file=“要包含的模板文件名称” assign=“var” [var ...]}

功能:包含模板文件

参数说明:

file:要包含的 模板文件名称

变量名=变量值的形式

原理图:

wpsB100.tmp

对于我们的项目:由于项目的头部与尾部大部分都是相同的,所以可以单独分离出来,我们整个项目其实只需要做中间部分即可。

示例代码:

wpsB121.tmp

运行效果:

wpsB131.tmp

5)include_php

基本语法:

{include_php file=“php文件路径” once=true}

功能:引入外部php文件

once:规定引用次数为1次,boolean,true:当前文件只能引入一次,默认为true

说明:在smarty3.0中已经不推荐使用此标签,如需使用,可以使用smarty2入口文件

wpsB151.tmp

6、insert

基本语法

{insert name=’函数名称’ 变量=变量的值}

功能:允许我们在Smarty模板页面直接引入php函数

示例代码:

demo10.php代码

wpsB191.tmp

demo10.html代码

wpsB1A2.tmp

注:在使用insert方法时,请注意创建的函数前面必须添加insert_前缀,且传递的参数都是以数组的形式追加到函数的形参中。

作业:通过php+smarty完成分页程序

posted on 2016-05-06 00:43 山山未迟 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lifushan/p/5463955.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/490798.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 绘制时频图 plt.specgram

时频图以横轴为时间&#xff0c;纵轴为频率&#xff0c;用颜色表示幅值。在一幅图中表示信号的频率、幅度随时间的变化 matplotlib.pyplot.specgram(x, NFFTNone, FsNone, FcNone, detrendNone, windowNone, noverlapNone, cmapNone, xextentNone, pad_toNone, sidesNone, s…

华为鸿蒙系统四大特性:基于微内核,面向全场景,分布式架构

来源&#xff1a;今日头条8月9日&#xff0c;在广东东莞召开的华为开发者大会上&#xff0c;华为正式发布了自研操作系统&#xff1a;鸿蒙OS。据华为消费者业务CEO、华为技术有限公司常务董事余承东介绍&#xff0c;鸿蒙OS是基于微内核的面向全场景的分布式操作系统。随着华为全…

VM虚拟机中 localhost login_UTM 2.0 虚拟机来了,解决上网和无声音问题

今天主要讲一下UTM虚拟机&#xff0c;如果你对UTM这款APP不太熟悉&#xff0c;我在这里大致讲一下&#xff0c;这款应用工具&#xff0c;它可以安装在 iPad 和 iPhone 上刷入电脑系统&#xff0c;举例子&#xff1a;在UTM中刷入win7系统。甚至还能刷入 Android 安卓系统&#x…

搅动世界的两大因素

原创&#xff1a;张晓峰提要&#xff1a;移动互联、云计算、大数据、人工智能等技术因素逐步成为新基础设施&#xff0c;而泛连接、泛共享、泛融合与泛协同为代表的非技术因素正在重构这个世界。二者叠加融汇、相因相生。每个人都渐进或主动或被动地“被”函数化、数字化、孪生…

amigo幸运字符什么意思_转载 | 史上最全 python 字符串操作指南

点击蓝字关注&#xff0c;创智助你长姿势【本文已由 清风Python 授权转载(原创)作者&#xff1a;王翔&#xff0c;转载请联系出处】字符串的定义完了&#xff0c;估计很多人看到这个标题就要关网页了&#xff0c;稍等不妨再往下看看&#xff1f;python 定义字符、字符串没有 j…

在物理学的语言里,“生命”是什么?

转自&#xff1a;Darthusian“想象一种语言就像想象一种形式的生命。”--- 路德维希.维特根斯坦&#xff0c;《哲学研究》当今世界人们使用大约6,800种不同的语言。不是每个词都能在不同的语言之间完美地翻译&#xff0c;意义有时会落入语义的裂缝。例如&#xff0c;日语词wabi…

HTML5中的时间类型,另外EL表达式的时间值来读取时间,并且还可以更改时间

HTML5规范里只规定date新型input输入类型&#xff0c;并没有规定日历弹出框的实现和样式。所以&#xff0c;各浏览器根据自己的设计实现日历。目前只有谷歌浏览器完全实现日历功能。相信这种局面很快就会结束&#xff0c;所有的浏览器最终都将会提供原生的日历组件。 如果你使用…

支付接口申请_2020新版去水印小程序搭建教程(附源码+对接支付)

可以设置小程序跳转&#xff0c;引流也不错支持小程序后台流量主激励视频广告用户下载一次观看一次视频广告&#xff0c;收入非常可观支持小程序后台流量主banner广告支持全网短视频解析&#xff0c;苹果安卓通用支持后台无限生成卡密支持自定义文字广告支持图片广告支持小程序…

python 绘制功率谱密度图 plt.psd

功率谱密度图以横轴为频率&#xff0c;纵轴为功率密度&#xff0c;表示信号功率密度随着频率的变化情况 python绘制功率谱密度&#xff1a; matplotlib.pyplot.psd(x, NFFT256, Fs2, Fc0, detrendmlab.detrend_none,windowmlab.window_hanning, noverlap0, pad_toNone,sidesd…

概述自动机器学习(AutoML)

来源&#xff1a;混沌巡洋舰华为年薪百万招聘的机器学习博士&#xff0c;其中一个的研究方向就是AutoML,今天借着最新的综述&#xff0c;来对AutoML进行简要的概述。机器学习是让算法自动的从数据中找出一组规则&#xff0c;从而提取数据中对分类/聚类/决策有帮助的特征&#x…

python assert 与 slice

assert&#xff1a; assert 断言的作用&#xff1a;assert是断言的意思&#xff0c;python assert 断言语句格式及用法很简单。assert断言是声明其布尔值必须为真的判定&#xff0c;如果发生异常就说明表达式为假&#xff0c;用来测试表达式&#xff0c;如果表达式的返回值为假…

h5 bootstrap 小程序模板_软件测试人员必知H5/小程序测试点

最近接触了较多关于H5页面的测试&#xff0c;H5页面的测试除了业务逻辑功能测试外&#xff0c;其他部分的测试方法基本是可以通用的,在此对H5页面和小程序的一些通用测试方法进行总结分享给大家01H5相关测试H5优势&#xff1a;1.H5可以跨平台&#xff0c;开发成本相对较低&…

【深度学习】这才是深度学习的本源

内容来源&#xff1a;2019年7月26日&#xff0c;在长城会主办的“GMIC之院士AI论坛”上&#xff0c;索尔克生物研究所计算神经生物学实验室主任特伦斯进行了以“人工智能&#xff0c;将成科技的最大风口”为主题的精彩分享。笔记侠作为合作方&#xff0c;未经主办方和讲者审核。…

KALI Linux中GURB安装失败如何处理

KALI Linux中GURB安装失败如何处理 # GRUB安装失败 # 无法将grub-pc软件包安装到/target/中&#xff0c;如果没有GRUB启动引导器&#xff0c;所安装的系统将无法启动。 解决办法&#xff1a; 点击返回 点击配置软件包管理 将之前设置的网络镜像“是”改为“否”&#xff0c…

d3.js 旋转图形_苏教版三年级数学上册6.1平移和旋转微课视频 | 练习

本公众号学习资源丰富&#xff01;欢迎分享到班群、朋友圈、帮助更多孩子。微课视频第一课时微课视频第二课时同步练习1.连一连。升旗时国旗的运动 钟摆的运动风扇叶片的运动 平移 电梯的运动光盘在电脑里的运动 旋转 火车的…

任正非签发最新电邮:过去我们是为了赚点小钱,现在是要战胜美国

来源&#xff1a;蓝血研究&#xff08;lanxueyanjiu&#xff09;2019年7月31日&#xff0c;华为举行“千疮百孔的烂伊尔2飞机”战旗交接仪式&#xff0c;任正非在仪式上做了题为《钢铁是怎么炼成的》的讲话。他表示&#xff1a;人工智能才是未来的大产业&#xff0c;要让“人才…

wget for windows 下载与安装

wget for windows 下载与安装 wget for windows 下载链接&#xff1a;https://eternallybored.org/misc/wget/ 下载之后将压缩包内的wget.exe文件解压到下面的路径&#xff08;注意所下载文件与个人电脑匹配&#xff08;32bit或64bit&#xff09;&#xff09; C:\Windows\Sys…

case when 多条件_3年前的设计如今被iPhone强推 PITAKA磁吸生态设计的前瞻性到底有多可怕?...

随着iPhone12/Pro的陆续出货,很多人已经上手并在实际的生活和工作场景下体验过iPhone12。其中iPhone12系列的全新卖点MagSafe技术备受关注,其极为出色的磁性机制可实现全新的配件生态系统,为配件制造商开启了一个全新的细分市场。新技术的诞生必然带来新一波的设计趋势,配件制造…

BAT文件命名中含有英文括号运行出错

BAT文件命名中含有英文括号运行出错 近期在写一些批处理程序&#xff0c;但在命名时发现了一些问题&#xff0c;BAT文件名中含有英文圆括号时&#xff0c;批处理程序就会执行错误&#xff0c;去除英文圆括号后&#xff0c;程序就能正常执行。 测试一下&#xff1a; 1、先生成…

美国新登月计划有何不一样

来源&#xff1a;新华社新华社华盛顿8月10日电&#xff08;记者周舟&#xff09;在人类登月50年后&#xff0c;美国航天局开始紧锣密鼓地研制新一代重型火箭和“猎户座”飞船&#xff0c;计划2024年前再次将宇航员送上月球。为何不直接采用当年“阿波罗11号”的设计再赴月球&am…