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 6.0上创建系统悬浮窗

    郭霖大神的文章:http://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650235949&idx=1&sn=0f7eded ...

  2. python语言学习

    前段时间要做视频直播需要编写自动模块,就考虑使用python脚本语言,python的好多语法都是很独特的,比如数据类型不需要预定义,缩进的方式等,另外功能也很强大,豆瓣就是用python写的.我写的部 ...

  3. [Ubuntu] 14.04 关闭桌面

    一直在用Ubuntu的桌面来做调试环境,最近发现桌面会有崩溃的时候,占用资源也比较大,所以想把桌面关闭,只用command界面. 我的系统是Ubuntu14.04 Ctrl+Alt+F1 可以转到命令 ...

  4. 剑指Offer——求职必备神器

    剑指Offer--求职必备神器 前言   不管是公司网申.银行招聘.面试等等,"谈谈你的职业规划"."以往工作中遇到了哪些棘手问题?你是如何解决的?".&quo ...

  5. Android 系统自动重启Bug(高通平台)

    点击打开链接 最近客户反馈了一个Bug,我们的系统用着用着会自动重启,尤其是在拨号的时候极容易死机或者进入下载模式.根据老大和高通的支持得到了一个解决方案. 在Android系统中,有这么一个文件夹: ...

  6. Android使用HttpClient请求服务器代码优化版

    首先,我在前面的两篇博文中介绍了在Android中,除了使用java.net包下HttpUrlConnection的API访问HTTP服务之外,我们还可以换一种途径去完成工作.Android SDK附 ...

  7. [EXTJS5学习笔记]第二十六节 在eclipse/myeclipse中使用sencha extjs的插件

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/40507383 插件下载: http://download.csdn.net/detai ...

  8. 【IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar )

    转载注明出处 : http://blog.csdn.net/shulianghan/article/details/50348982 一. 日期选择器 (UIDatePicker) UIDatePic ...

  9. Android项目开发填坑记-9patchPng报错

    如果阅读体验不佳,请使用–> Github版 背景 之前写了一篇文章Android必知必会–NinePatch图片制作详细介绍了Android 9Patch图片的制作和一些Demo展示,这次说明 ...

  10. mac OS下在控制台中发送外部邮件

    1 首先安装mailx: sudo port install mailx 2 然后设置别名 : alias mailx=/opt/local/bin/mailx alias mail=/opt/loc ...