Smarty变量调节器

变量调节器:<{$a|变量调节器}>

主要修改此页面的信息来了解变量调节器:test0605/main.php和模板文件:main0605.html

 

1.利用给定的变量调节器

capitalize[首字符大写]

php代码:$smarty->assign("ceshi","hello world");

html代码:<div><{$ceshi|capitalize}></div>

运行后的结果是:Hello World

truncate[截取字符串]含有参数(截取的长度,替代的字符)

书写规则:{$articleTitle|truncate:30:"---"}

html代码:  <td><{$v[1]|truncate:10:"---"}></td>     或  <td><{$v[1]|truncate:10}></td>(默认是...)

显示效果:                                原图:                                

 

2.根据要求自己写的变量调节器

是根据根目录下libs里面的plugins(插件),变量调节器的命名方式很特殊:modifier.变量调节器名称.php

但是自己的插件是在www/Smarty0603/plugins中书新建的,特别要注意命名方式

2.1 改变字体的颜色

在以上目录下新建:modifier.fontcolor.php

<?php
function smarty_modifier_fontcolor($str,$color='red')//参数str
{
    return "<span style='color:{$color}'>$str</span>";    
}

前段html代码:<td><{$v[2]|fontcolor}></td> (默认是红色)

显示效果:                                                                     之前效果:

                               

2.2 变量调节器的组合使用

前段html代码: <td><{$v[1]|truncate:10:"***"|fontcolor:green}></td>

页面显示效果                              使用之前:

2.3 变量调节器显示所属科目

在以上目录下新建:modifier.kmname.php

<?php
function smarty_modifier_kmname($str)
{
    $db = new MySQLi("localhost","root","","mydb");
    $sql = "select name from kemu where code = '{$str}'";
    $result = $db->query($sql);
    $attr = $result->fetch_row();
    //var_dump($attr);
    return $attr[0];
    
}

前段html代码: <td><{$v[3]|kmname}></td> 

页面显示效果:                                                                         之前的效果:

                                 

原文地址:https://www.cnblogs.com/kevin2016/p/5721665.html