zoukankan      html  css  js  c++  java
  • smarty变量调节器与函数

    smarty自带了一些变量调节器与内置函数,都在libs/plugins目录下,变量调节器以modifier开头,函数以function开头,而且我们可以自定义变量调节器与函数,熟练运用之后会极大地提高我们的开发效率。

    一、格式

     自定义的时候必须严格按照smarty提供的书写格式:

    1.自定义变量调节器:

    文件名格式:modifier.方法名.php,如:modifier.fontcolor.php

    方法格式:function smarty_modifier_方法名(参数,参数……){ 方法 },如:function smarty_modifier_fontcolor($str,$color='green'){}。

    注意:文件名格式与方法格式的方法名一定要相同。

    2.自定义函数:

    文件名格式:function.方法名.php,如:function.fontcolor.php

    方法格式:function smarty_function_方法名(参数,参数……){ 方法 },如:function smarty_function_fontcolor($args,$smarty){}。

    注意:文件名格式与方法格式的方法名一定要相同。

    二、应用示例

    变量调节器在使用时用"|"分隔,变量在前,变量调节器在后面,参数用":"调用

    1.capitalize: 使变量内容里的每个单词的第一个字母大写,两个布尔型参数,默认均为false,第一个为true,则将带数字的单词首字母大写,第二个为true,则将单词内其他字母变为小写

    <?php
    $smarty->assign("articleTitle","next x-men film x3 deLayed");
    ?>

    模板:

    <{$articleTitle}><br />
    <{$articleTitle|capitalize}><br />
    <{$articleTitle|capitalize:true}><br />
    <{$articleTitle|capitalize:true:true}><br />

    输出:

    next x-men film x3 deLayed
    Next X-Men Film x3 DeLayed
    Next X-Men Film X3 DeLayed
    Next X-Men Film X3 Delayed

    2.lower:将变量值转成小写字母;upper: 将变量值转成大写字母。

    <?php
    $smarty->assign('articleTitle', "If Strike isn't Settled Quickly it may Last a While.");
    ?>

    模板:

    <{$articleTitle}><br />
    <{$articleTitle|upper}><br />
    <{$articleTitle|lower}>

    输出:

    If Strike isn't Settled Quickly it may Last a While.
    IF STRIKE ISN'T SETTLED QUICKLY IT MAY LAST A WHILE.
    if strike isn't settled quickly it may last a while.

    3.truncate: 截取字符串到指定长度,默认长度是80. 第二个参数可选,指定了截取后代替显示的字符。 截取后的字符长度是截取规定的长度加上第二个参数的字符长度。 默认truncate会尝试按单词进行截取。如果你希望按字符截取(单词可能会被截断),需要设置第三个参数TRUE

    <?php
    $smarty->assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.');
    ?>

    模板:

    <{$articleTitle}><br />
    <{$articleTitle|truncate}><br />
    <{$articleTitle|truncate:30}><br />
    <{$articleTitle|truncate:30:""}><br />
    <{$articleTitle|truncate:30:"---"}><br />
    <{$articleTitle|truncate:30:"":true}><br />
    <{$articleTitle|truncate:30:"...":true}><br />
    <{$articleTitle|truncate:30:'..':true:true}>

    输出:

    Two Sisters Reunite after Eighteen Years at Checkout Counter.
    Two Sisters Reunite after Eighteen Years at Checkout Counter.
    Two Sisters Reunite after...
    Two Sisters Reunite after
    Two Sisters Reunite after---
    Two Sisters Reunite after Eigh
    Two Sisters Reunite after E...
    Two Sisters Re..ckout Counter.

    4.复合变量调节器:

    你可以联合使用多个修饰器。 它们会按复合的顺序来作用于变量,从左到右。 它们必须以| (竖线)进行分隔。 

    <?php
    
    $smarty->assign('articleTitle', 'Smokers are Productive, but Death Cuts Efficiency.');
    
    ?>

    模板:

    <{$articleTitle}><br />
    <{$articleTitle|upper|fontcolor|truncate}><br />

    输出:

    Smokers are Productive, but Death Cuts Efficiency.
    SMOKERS ARE PRODUCTIVE, BUT DEATH CUTS...

  • 相关阅读:
    基于Android的学生电子假条管理平台(笔记18)
    基于Android的学生电子假条管理平台(笔记17)
    请假制度管理与责任规避(笔记16)
    高校学生考勤管理系统功能设计(笔记15)
    浅析普通高校考勤请假制度的困境及其解决方法(笔记14)
    浅析普通高校考勤请假制度的困境及其解决方法(笔记13)
    高职大学生非正常请假现象透视(笔记12)
    学校应该完善与落实学生考勤制度——两张与众不同的请假条的故事(笔记11)
    《基于ASP.NET技术的小区物业管理系统设计与实现》论文笔记(二十)
    《基于JSP小区物业信息管理系统的设计与实现》论文笔记(十九)
  • 原文地址:https://www.cnblogs.com/xinghun/p/5563751.html
Copyright © 2011-2022 走看看