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. Weblogic 12c 集群环境搭建

    本文是在windows7操作系统下配置的,jdk版本1.7 ,weblogic版本12.1.3.0.0. 搭建集群前的规划 其中AdminServer是总控制端,server1.server2.ser ...

  2. 剑指Offer——知识点储备-JVM基础

    剑指Offer--知识点储备-JVM基础 1.java内存与内存溢出 1.1 JVM分为哪些区,每一个区干嘛的?(见java虚拟机38页) (1)程序计数器(线程私有) 当前线程执行字节码的信号指示器 ...

  3. Android Multimedia框架总结(二十一)MediaCodec中创建到start过程(到jni部分)

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/53386117 我最近正在参加CS ...

  4. FORM开发之说明性弹性域开发

    1.注册使用弹性域的表,字段 注册表语法:ad_dd.register_table('所有者','表名','T自动扩展/S非自动扩展','下一区','自由','已使用') AD_DD.REGISTER ...

  5. TOP-N类查询

    Top-N查询 --Practices_29:Write a query to display the top three earners in the EMPLOYEES table. Displa ...

  6. 2.Cocos2dx 3.2中的重力系统Box2D

     1 添加Box2D相关的库 步骤1:右击项目所在的解决方案à添加->现有项目àE:\Installed\cocos2d-x-3.2\cocos2d-x-3.2\external\Box2D ...

  7. Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式

    Android开发艺术探索笔记--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activ ...

  8. FFmpeg的HEVC解码器源代码简单分析:解码器主干部分

    ===================================================== HEVC源代码分析文章列表: [解码 -libavcodec HEVC 解码器] FFmpe ...

  9. FFmpeg的H.264解码器源代码简单分析:环路滤波(Loop Filter)部分

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  10. MyBatis延迟加载及在spring中集成配置

     当你要使用one to one,many to one 就会碰到N+1的问题.很明显,对象之间关联很多有A关联B,B关联C,C关联A这样的关系,如果不是采用延迟加载,很容易一下在出现成千上万对象 ...