zoukankan      html  css  js  c++  java
  • 6月5 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> 

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

                                                    

    2.4 变量调节器显示难度(所有表都是查询数据库的)

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

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

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

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

                                                                    

    2.5 变量调节器显示类型

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

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

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

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

                                                                     

    所有的前端html代码如下:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    
    <body>
    <h1>主页面</h1>
    
    <div><{$ceshi|capitalize}></div>
    <br />
    
    <table border="1" cellpadding="0" cellspacing="0" width="100%">
        <tr>
            <td>题目名称</td>
            <td>答案</td>
            <td>科目</td>
            <td>难度</td>
            <td>类型</td>
            <td>操作</td>
        </tr>
     
    <{foreach $shuju as $v}>
    <tr>
        <td><{$v[1]|truncate:10:"***"|fontcolor:green}></td>
        <td><{$v[2]|fontcolor}></td> 
        <td><{$v[3]|kmname}></td> 
        <td><{$v[4]|nandu}></td> 
        <td><{$v[5]|type}></td> 
        <td><a href="shanchu.php?code=<{$v[0]}>">删除</a>&nbsp;&nbsp;<a href="xiugai.php?code=<{$v[0]}>">修改</a></td> 
    </tr>
    <{/foreach}>
    </table>
    <br>
    
    
    </body>
    </html>
    View Code
  • 相关阅读:
    [转]ArcSDE数据被锁定后的解锁方法
    一个ArcGIS网络分析的最短路径例子||A Network Analyst Shortest Route of ArcGIS[转]
    Flex项目调试及日志记录
    组件服务计算机我的电脑右键无属性,组件服务打不开
    ORACLE纯SQL实现多行合并一行[转]
    自定义组件开发 第二节 MXML组件开发
    FLEX中使用BitmapFill的source属性指定SVG类文件
    FLEX动态创建事件
    Sublime Text3常用插件推荐
    RemoveView在android2.1以及之后才支持addView
  • 原文地址:https://www.cnblogs.com/Duriyya/p/5571351.html
Copyright © 2011-2022 走看看