zoukankan      html  css  js  c++  java
  • 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} :把 转化为br标签

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

    {$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完成分页程序

  • 相关阅读:
    织梦标签调用:根据特定需求调用文章的标签代码
    织梦DedeCMS信息发布员发布文章阅读权限不用审核自动开放亲测试通过!
    javascript中的this和e.target的深入研究
    vue-cli入门(二)——项目结构
    Mysql千万级大数据量查询优化
    MySQL大数据量分页查询方法及其优化
    Spring Bean的生命周期分析
    多线程下,两个线程交替打印0 -100,使用wait()和notify()
    ReentrantLock
    多线程交替打印ABC的多种实现方法
  • 原文地址:https://www.cnblogs.com/lifushan/p/5463955.html
Copyright © 2011-2022 走看看