1.Smarty的配置:

将lib的内容复制到自己的工程,然后引入

实例化和配置Smarty基本属性:

        $smarty = new Smarty();
$smarty->left_delimiter = "{"; //左定界符
$smarty->right_delimiter = "}";//右定界符 {大括号内内容由Smarty处理}
$smarty->template_dir = "tpl"; //html模版
$smarty->compile_dir = "template_c"; //模板编译生成的文件
$smarty->cache_dir = "cache";
$smarty->caching = true;
$smarty->cache_lifetime = 120;

其中界定符定义了Smarty处理的部分。

2.Smarty的基本语法:

1.变量定义和赋值

$smarty->assign(<var>,<var_value>);
$smarty->display('<tpl>')

2.注释

{*注释内容*}

3.数组变量的输出

定义:

$arr = array('articlecontent' =>array('title'=>'smarty学习','author'=>'小明'));
$smarty->assign('arr',$arr);

访问:

{$arr.articlecontent.title}
{$arr['articlecontent']['title']}</span>

4.变量调节器:

使用

{<变量>|<调节器>}

1.调节器例如capitalize是首字母大写 lower upper

2.字符串连接:{<原始字符串>|cat:<要连接的字符串>} 可多次连接,多次连接后面直接加 :<内容>:<内容>(冒号 内容 冒号 内容...)

3.日起格式化 date_format

{$yesterday|date_format} 可带参数

php的函数time可以得到Unix时间戳,即从1970年1月1日至今的秒数

格式化方式为

{$time|date_format:"%B %e %Y %H:%M:%S"}

时间为格林威治时间

B为月,e为日,Y为年

4.为未赋值或空变量设定默认值

|default:<默认值>

5.escape转码

url可能会影响php等脚本语言正常运转,对网址转码

对url转码:

{$url|escape:'url'}

6.nl2br表示将正常换行符转化为br标签,可以实现字符串换行

3.条件判断

eq ==

neq !=

gt >

lt <

注意修饰符和变量常量空格隔开

例子:

{if $score gt 90}
优秀
{elseif $score gt 60}
及格
{else}
不及格
{/if}

4.循环语句

{section name=<element_index> loop=<要循环的数组>}

{/section}

例如要打印如下数组的内容:

    $way = array(
array(
"title" => "article1",
"author" => "ywx",
"content" => "ich mag dich!"
),
array(
"title" => "article2",
"author" => "dw",
"content" => "ich mag dich?"
)
);//$way在smarty中配置为$dich

在php脚本中如下操作:

{section name=index loop=$dich}
{$dich[index].title}
{$dich[index].author}
{$dich[index].content}
<br/>
{/section}

foreach的用法:

{foreach item=<item> from=<source>}
{$item.index}
{foreachelse} {/foreach}

Smarty学习笔记(一)的更多相关文章

  1. Smarty学习笔记(二)

    1.引用 {include file="xxx.xxx" sitename="xxx"} 向引入的文件传入变量: {include file="xxx ...

  2. X-Cart 学习笔记(一)了解和安装X-Cart

    目录 X-Cart 学习笔记(一)了解和安装X-Cart X-Cart 学习笔记(二)X-Cart框架1 X-Cart 学习笔记(三)X-Cart框架2 X-Cart 学习笔记(四)常见操作 一.了解 ...

  3. X-Cart 学习笔记(三)X-Cart框架2

    目录 X-Cart 学习笔记(一)了解和安装X-Cart X-Cart 学习笔记(二)X-Cart框架1 X-Cart 学习笔记(三)X-Cart框架2 X-Cart 学习笔记(四)常见操作 3.了解 ...

  4. X-Cart 学习笔记(四)常见操作

    目录 X-Cart 学习笔记(一)了解和安装X-Cart X-Cart 学习笔记(二)X-Cart框架1 X-Cart 学习笔记(三)X-Cart框架2 X-Cart 学习笔记(四)常见操作 五.常见 ...

  5. phalcon(费尔康)框架学习笔记

    phalcon(费尔康)框架学习笔记 http://www.qixing318.com/article/phalcon-framework-to-study-notes.html 目录结构   pha ...

  6. xml基础学习笔记01

    注意:刚刚看了网上对于XML中的标签,节点和元素?到底应该怎么表述?起初我也有这个疑惑,现在我的想法是:下面出现node的应称作节点,节点对象.element应称作元素,毕竟这更符合英文的本意.至于标 ...

  7. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  8. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  9. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

随机推荐

  1. Android等宽字体

    Android等宽字体 效果图 在xml中设置 添加属性 android:typeface="monospace" 例如 <TextView android:layout_w ...

  2. Programming In Scala笔记-第十六章、Scala中的List

    本章主要分析Scala中List的用法,List上可进行的操作,以及需要注意的地方. 一.List字面量 首先看几个List的示例. val fruit = List("apples&quo ...

  3. 实现Android5.0过渡动画兼容库

    Android5.0之后为我们提供了许多炫酷的界面过渡效果,其中共享元素过渡也是很有亮点的一个效果,但这个效果只能在Android5.0之后使用,那今天我们就来将共享元素过渡效果兼容到Android4 ...

  4. Python 3 函数自由变量的大坑

    Python中函数是一个对象, 和整数,字符串等对象有很多相似之处,例如可以作为其他函数的参数或返回对象, Python中的函数还可以携带自由变量, 两者无疑极大增进了Python的表达力. 但是Py ...

  5. Apache shiro集群实现 (三)shiro身份认证(Shiro Authentication)

    Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...

  6. Android Firebase 服务简介

    Firebase初步了解 什么事Firebase?Firebase成立于2011年,在被Google收购之前,Firebase是一个协助开发者快速构建App,能够提供行动应用专用开发平台及SDK的一款 ...

  7. mvn管理项目jar包

    Maven是一个采用纯Java编写的开 源项目管理工具.Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xm ...

  8. Cartographer资料分享

    中文资料稍后补充 Introducing Cartographer By Tully Foote on October 5, 2016 10:11 AM From Damon Kohler, Wolf ...

  9. Spark技术内幕: Shuffle详解(一)

    通过上面一系列文章,我们知道在集群启动时,在Standalone模式下,Worker会向Master注册,使得Master可以感知进而管理整个集群:Master通过借助ZK,可以简单的实现HA:而应用 ...

  10. openfire环境搭建

    1.下载源代码:http://www.igniterealtime.org/downloads/source.jsp 2.把源代码解压出的openfire_src文件夹放至eclipse workpl ...