smarty 变量调节器
变量调节器:<{$a|变量调节器}>
了解更多可以查询smarty手册
主要修改此页面的信息来了解变量调节器:main.php/main.html(0603)

1.利用给定的变量调节器
capitalize 首字母大写
php页面:$smarty->assign("ceshi","hello world");
html页面:<div><{$ceshi|capitalize}></div>
运行后:Hello World
truncate截取字符串(有参数),10代表截取的长度, . 是第三个参数,代表剩余的内容
<td><{$v[1]|truncate:10:"..."}></td> 也可以用:<td><{$v[1]|truncate:10}></td>(默认是...)
运行后: 原图:

2. 自己写的变量调节器
在lib/plugins中新建文件,命名方式是固定的:modifier.变量调节器名称.php
2.1 改变答案的颜色
新建文件:modifoer.fontcolor.php
<?php
//参数:第一个是默认的字符串$str,必须写
function smarty_modifier_fontcolor($str,$color="green")
{
return "<span style='color:{$color}'>$str</span>";
}
在前端调用方法main.html: <td><{$v[2]|fontcolor:red}></td>

2.2 组合使用变量调节器:
在前端调用方法main.html: <td><{$v[1]|truncate:10:"..."|fontcolor}></td>
2.3 显示所属科目的名称
新建文件:modifoer.kmname.php
<?php
function smarty_modifier_kmname($str)
{
$conn=new MySQLi("localhost","root","","mydb");
$sql="select name from kemu where code = '{$str}'";
$result=$conn->Query($sql);
$attr=$result->fetch_row();
return $attr[0];
}
在前端调用方法main.html: <td><{$v[3]|kmname}></td>

2.4 显示难度的名称
新建文件:modifoer.nandu.php
<?php
function smarty_modifier_nandu($str)
{
if($str==0)
{
return "简单";
}
else if($str==1)
{
return "适中";
}
else
{
return "困难";
}
}
在前端调用方法main.html: <td><{$v[4]|nandu}></td>

2.5 显示类型的名称
新建文件:modifoer.type.php
<?php
function smarty_modifier_type($str)
{
if($str==0)
{
return "判断";
}
else if($str==1)
{
return "单选";
}
else
{
return "多选";
}
}
在前端调用方法main.html: <td><{$v[5]|type}></td>

main.html 中全部修改内容:
<{foreach $shuju as $v}>
<tr>
<!--truncate截取字符串(有参数),10代表截取的长度,.是第三个参数,代表剩余的内容 -->
<td><{$v[1]|truncate:10:"..."|fontcolor}></td>
<td><{$v[2]|fontcolor:red}></td>
<td><{$v[3]|kmname}></td>
<td><{$v[4]|nandu}></td>
<td><{$v[5]|type}></td>
<td><a href="delete.php?code=<{$v[0]}>">删除</a>
<a href="update.php?code=<{$v[0]}>">修改</a>
</td>
</tr>
<{/foreach}>
<!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>
<table width="70%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>题目名称</td>
<td>答案</td>
<td>所属科目</td>
<td>难度</td>
<td>类型</td>
<td>操作</td>
</tr> <{foreach $shuju as $v}>
<tr>
<!--truncate截取字符串(有参数),10代表截取的长度,.是第三个参数,代表剩余的内容 -->
<td><{$v[1]|truncate:10:"..."|fontcolor}></td>
<td><{$v[2]|fontcolor:red}></td>
<td><{$v[3]|kmname}></td>
<td><{$v[4]|nandu}></td>
<td><{$v[5]|type}></td>
<td><a href="delete.php?code=<{$v[0]}>">删除</a>
<a href="update.php?code=<{$v[0]}>">修改</a>
</td>
</tr>
<{/foreach}>
</table><br /> <a href="add.php">添加数据</a><br /> </body>
</html>
smarty 变量调节器的更多相关文章
- smarty变量调节器与函数
smarty自带了一些变量调节器与内置函数,都在libs/plugins目录下,变量调节器以modifier开头,函数以function开头,而且我们可以自定义变量调节器与函数,熟练运用之后会极大地提 ...
- 6月5 Smarty变量调节器
变量调节器:<{$a|变量调节器}> 主要修改此页面的信息来了解变量调节器:test0605/main.php和模板文件:main0605.html 1.利用给定的变量调节器 capita ...
- smarty变量调节器
smarty中变量调解器的作用:在模板中需要对PHP分配过来的变量在输出之前,对变量进行处理 注册变量调解器方式:$smarty->registerPlugin("modifier&q ...
- smarty变量调节器案例
要求: 如下图,有内容的每一行,当鼠标放上去显示灰色区域,当鼠标离开灰色区域消失
- 第八十八天请假 PHP smarty模板 变量调节器,方法和块函数基本书写格式
变量调节器 : 文件命名格式(modifier.名称.php) 前端调用方式<{变量|名称:参数:参数……}>可组合使用,用|隔开 <?php /* 命名格式 smarty_mod ...
- Smarty模板变量调节器
Smarty模板变量调节器用法 在smarty里面,怎么修饰文本和变量呢?当然,你可以通过php函数处理文本,然后再通过assign()方法分配到模板,其实smarty提供了变量调节器能够很容易的处理 ...
- smarty 模板几个例子(变量调节器)
一.assign和display方法的使用以及几个变量调节器 header("content-type:text/html;charset=utf-8");//加载Smarty引擎 ...
- smarty学习——变量调节器(过滤器)
变量调节器用于变量,自定义函数和字符串. 请使用 | 符号和调节器名称应用调节器.变量调节器由赋予的参数值决定其行为.参数由:符号分开. 比如进行大写转换的: upper demo: <br&g ...
- Smarty 变量使用
Smarty的标签都是使用定界符括起来. 默认定界符是{ 和 }, 但定界符可以被改变. 比如说在本手册,我们会假定你在使用默认的定界符. 在Smarty看来,任何在定界符之外的内容,都是静态的,或者 ...
随机推荐
- 【转载51CTO】Linux中引号那些事儿
原文链接:http://os.51cto.com/art/201207/348855.htm 我们将把编写脚本的事情暂时搁在一边,然后来讨论一些,我们一直在用的,但是没有解释的东西.引号在这一节里面, ...
- pl/sql 在一个程序块里打印日志输出到表格
declare v_number NUMBER; v_number2 NUMBER; begin execute immediate 'truncate table t2'; insert into ...
- 【HDOJ】1510 White Rectangles
这个题目很好,变形的题目也很多.简单DP. /* 1510 */ #include <cstdio> #include <cstring> #include <cstdl ...
- 【HDOJ】5063 Operation the Sequence
#include <cstdio> #include <cstring> #include <cstdlib> #define MAXN 100005 #defin ...
- 双向队列 STL
题目描述 想想双向链表……双向队列的定义差不多,也就是说一个队列的队尾同时也是队首:两头都可以做出队,入队的操作.现在给你一系列的操作,请输出最后队列的状态:命令格式:LIN X X表示一个整数,命 ...
- [Java] List / ArrayList - 源代码学习笔记
在阅读 List / ArrayList 源代码过程中,做了下面的笔记. LinkedList 的笔记较多,放到了另一篇博文 LinkedList / Queue- 源代码学习笔记 List List ...
- Drainage Ditches - poj 1273(网络流模板)
题意:1是源点,m是汇点,求出来最大流量,没什么好说的就是练习最大流的模板题 ************************************************************* ...
- fedora19安装jdk
1.下载安装包 去oracle下载jdk-7u45-linux-i586.rpm 2. 更改权限 #chmod 777jdk-7u45-linux-i586.rpm 3. 安装 #rpm -ivh j ...
- 利用powershell进行远程服务器管理(命令行模式)
Pssession,Pssession是Windows Powershell会话的意思,一个会话,可以共享数据,提供交互式的对话,我们可以为某些命令例如Invoke-Command 制定会话来远程作业 ...
- Android常用的物理按键及其触发事件
Activity和View都能接收触摸和按键,如果响应事件只需要在继承类里复写事件函数即可:当一个视图(如一个按钮)被触摸时,该对象上的 onTouchEvent() 方法会被调用.不过,为了侦听这个 ...
