zoukankan      html  css  js  c++  java
  • php—Smarty-2

    一、注释

     *注释内容*

    Html注释显示客户端源文件中

    Smarty注释不会发给客户端

    Smarty的注释主要给模板设计者来看的

    二、模板中的变量

    l  由php文件分配

    1)  普通变量

    2)  数组变量

    3)  对象变量

    程序代码:

    模板代码:

    1  由配置文件分配

    配置文件:

    模板代码:

    2  在模板文件中创建

    三、变量调节器

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

    语法:

    {$var|调节器:参数1:参数2:……}

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

    l  {$var|count_characters:true} :计算字符串长度   true:计算空格   默认:false

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

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

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

    l  {$var|count_words} :计算单词数

    l  {$var|date_format:”%H%M%S”} :格式化时间

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

    l  {$var|escape} :转码

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

    l  {$var|lower} :小写

    l  {$var|nl2br} :将文件换行符转成网页换行符

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

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

     

    l  {$var|spacify:”^^”} :插空

    l  {$var|string_format:”%d”}   :字符串格式化

    l  {$var|strip}  :去除连续空格

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

    l  {$var|truncate:30:”…”} :截止字符串

    l  {$var|upper} :转换为大写

    l  {$var|wordwrap:30:” ”}  :行宽约束

    变量调节器的组合使用

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

    1)  将$var变量首字母大写

    2)  再从$var中截取30个字符串

    3)  再把截取之后的内容中的aa替换成bb

    四 Smarty函数---插件

    1)  内建函数                   sysplugins              不允许修改

    2)  自定义函数                   plugins                  可以修改

    1、capture             捕获一段内容,但不输出

    语法:

    {capture name=‘var’}

                  内容

    {/capture}

    Name:将内容保存到指定的变量中

    {$smarty.capture.var}

     

    在模板中,需要反复输出的大量内容,可以考虑使用capture捕获。

    2、config_load             加载配置文件

    {config_load file=“file”section=“section”}

    file:配置文件名称

    section:引用哪个配置节 可选参数

    引用语法:

    {#var#}

    {$smarty.config.var}

    3、foreach,foreachelse          用于遍历数组

    语法:

    {foreach from=数组 key=键 name=名称 item=内容 } 
                  {foreachelse} 当要遍历的数组没有任何元素时,执行foreachelse后面的语句
    {/forech}
    From:要遍历的数组
    Item:遍历到的键值
    Key:遍历到的键名
    Name:为foreach语句命名
    Foreach内置变量
    $smarty.
    foreach.name.index :索引 从0开始 $smarty.foreach.name.iteration :索引 从1开始 $smarty.foreach.name.first :当第一次执行循环时,该值为true $smarty.foreach.name.last :当最后一次执行循环时,该值为true $smarty.foreach.name.total :循环总数

    4、include  引用另一个模板文件

    {include file=“file” assign=“var” [var ...]}

    File:要引入的模板文件

    Assign:将结果保存,但本次不输出

    [var …] :可选参数,为模板文件传参

    5、include_php         包含一个php文件

    { include_php file=“file” assign=“var”      once=“true|false”}

    File:要引入的php文件

    Assign:保存输出结果,但本次不输出

    Once:是否只包含一次   true:是     false:否

    这个函数在smarty2.6中是可用的,但在3.0中将这个函数移除,如果还想使用这个函数,可以引用SmartyBC.class.php这个类文件

    6、insert     在模板中,执行一个php函数

    语法:

    { insert name=“func”   [var ...] }

    Name :被调用的php函数名

    [var ...] :调用函数时指定参数  可选参数

    Insert和include_php是同样的。都是2.6中的函数,在3.0中,将这个功能放到SmartyBC.class.php这个文件中了。

    注意:inser引用的php函数的名称必须以insert_为前缀

    7、if elseif else

           {if}

           {elseif}

           {else}

           {/if}

    8、ldelim 、rdelim   模板中的 { }  的转义符

    {ldelim}

    {rdelim} 

    9、literal   literal标记中间的内容不会被smarty所解析

           {literal}

                  ……

           {/literal}

    10、php    可以在一对php标记中写php代码

          

           {php}

                  ……

          {/php}

         

  • 相关阅读:
    selenium设置user-agent以及对于是否是浏览器内核进行反爬
    python-Redis模块常用的方法汇总
    Eight HDU-1043 (bfs)
    4 Values whose Sum is 0 (二分)
    Jmeter的优点是什么?除了轻量级,它和LoadRunner有什么本质区别
    selenuim,qtp,loadrunner,jmeter有何区别,想学个脚本语言python和测试工具应该从哪里入门呢。
    Jquery消息提示插件toastr
    排除Transformation Errors
    Group By Rollup
    Group By Grouping Sets
  • 原文地址:https://www.cnblogs.com/zhenghongxin/p/4473982.html
Copyright © 2011-2022 走看看