`
jiagou
  • 浏览: 2525302 次
文章分类
社区版块
存档分类
最新评论

ThinkPHP学习笔记(二十)模板中使用函数和标签

 
阅读更多

Action

<?php
/**
 * 其他需要了解的ThinkPHP方式
 * 1.创建URL路由
 * 2.A方法
 * 3.加入.shtml
 * 自己多写一些项目
 */
class TemplateAction extends Action{
    public function index(){
    	$array=array(
    		'id'=>'我的id',
    		'name'=>'我的姓名',
    	);
    	$m=M('user');
    	$user=$m->find();
    	$list=$m->select();
    	
    	$this->assign('title','模板使用');
    	$this->assign('array',$array);
    	$this->assign('user',$user);
    	$this->assign('alist',$list);
    	$this->assign('swi',1);
    	$this->assign('time',time());
        $this->display();
    }
}
?>

html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><!--{$title}--></title>
</head>
<body>
时间:<!--{$time}--><br/>
数组信息:<!--{$array.id}-->:<!--{$array.name}--><br/>
对象信息:<!--{$user.id}-->;<!--{$user.username}--><br/><!-- 如果.不好用的情况下可以换成: -->
函数的使用规则:<!--{变量|f1|f2|f3=参数1,参数2,###(###表示使用当前变量作为参数)}--><br/>
函数的使用:<!--{$user.id}-->:<!--{$user.username|strtolower|ucfirst|md5}--><br/>
函数的使用:<!--{$user.id}-->:<!--{$user.username|substr=0,3}--><br/>
时间格式:<!--{$time|date='Y-m-h M:i:s',###}--><br/>
默认值:<!--{$user.id|default='0'}--><br/>

模板注释:(注释之后,页面上面不解析,源码看不到)<br/>
1.<!--{/**/}--><br/>
2.<!--{//}--><br/>
<br/>

模板中执行函数:(输出方法并执行返回值)<br/>
1.<!--{ :函数名()}--><br/>
2.<!--{:U('user/insert')}--><br/>
例子:<!--{:time()}--><br/>
模板中执行函数:(输出方法但不输出)<br/>
1.<!--{ ~函数名()}--><br/>
2.<!--{~U('user/insert')}--><br/>
例子:<!--{~time()}--><br/>
<br/>

使用系统变量:<br/>
获取get方法中的id:<!--{$Think.get.id}-->:<!--{$_GET.id}--><br/><!-- http://localhost/MyThinkPHP/admin.php/template/index/id/33 -->
获取server方法中的:<!--{$Think.server.*}--><br/>
获取env方法中的:<!--{$Think.env.*}--><br/>
获取session方法中的:<!--{$Think.session.*}--><br/>
获取cookie方法中的:<!--{$Think.cookie.*}--><br/>
<br/>

使用系统的常量:<br/>
<!--{$Think.const.__SELF__}--><br/>
<!--{$Think.MODULE_NAME}--><br/>
<!--{$Think.__SELF__}--><br/>
<!--{$Think.now}--><br/>
<!--{$Think.template|basename}--><br/>
<br/>

使用配置文件:<br/>
<!--{$Think.config.db_user}--><br/>
<br/>

快捷输出(使用时,不支持函数的使用):<br/>
输出session中变量:<!--{@varName}--><br/>
输出cookie中变量:<!--{#varName}--><br/>
输出配置文件中变量:<!--{&varName}--><br/>
输出语言中变量:<!--{%varName}--><br/>
输出get中变量:<!--{.varName}--><br/>
输出post中变量:<!--{^varName}--><br/>
输出常量中变量:<!--{*varName}--><br/>
<br/>

文件包含(网页头尾;当前页面就不要加html表签了,需要将html的标签放入header和footer):<br/>
<include file='./Tpl/defualt/Public/header.html'/><br/>
引入当前模板中的public下的文件:<include file='Public:header'/><br/>
引入当前文件夹下的文件:<include file='header'/><br/>
跨皮肤操作:<include file='red@Public:header'/><br/>
也可以在class中分配变量过来:<include file='$header'/><br/>
<br/>

文件导入:<br/>
<import>
<load>
<link>
<br/>

volist:<br/>
限制输出长度: offset="1" length="3"<br/>
设置跨步输出: mod="2";需要加上eq标签<br/>
<volist name="alist" id="vo" mod="3" key="k">
<eq name="mod" value="1">
	<!--{$k}--><!--{$vo['username']}--><br/>
</eq>
</volist>
<br/>

foreach:<br/>
<foreach name="alist" item="vo">
	<!--{$vo.username}--><br>
</foreach>

<br/>
switch:<br/>
<switch name="swi">
	<case value="1">case1</case>
	<case value="2">case2</case>
	<default/>default
</switch>
<br/>

<br/>
判断符:<br/>eq/neq/gt/egt/lt/elt/(其中都可以加入else)
<eq name="swi" value="2">
2222<br/>
<else/>
1111<br/>
</eq>

<in name="swi" value="1,2,3">在某个取值范围之内<br/></in>
<notin name="swi" value="1,2,3">不在某个取值范围之内<br/></notin>
<range name="swi" value="1,2,3" type="in">在某个取值范围之内<br/></range>
<present name="swi">已赋值<br/></present>
<notpresent name="swi">没有赋值<br/></notpresent>
<empty name="swi">
这是一个空变量<br/>
<else/>
这个不是空变量<br/>
</empty>
<notempty name="swi">
这个不是空变量<br/>
<else/>
这是一个空变量<br/>
</notempty>
<defined name="MODULE_NAME">这个常量已经被定义了<br/></defined>
<notdefined name="MODULE_NAME">这个常量已经被定义了<br/></notdefined>

<if condition="$vo['id'] eq 5">
aaa
<else/>
bbb
</if>
原样输出:
<literal><if condition="$vo['id'] eq 5">aaa<else/>bbb</if></literal>
<br/>


自定义标签库:<br/>
/Think/Template/Taglib/中的解析类<br/>
/Think/Template/Tags/中的xml文件<br/>
<taglib name="CW,html"/>
自定义的使用:<html:select name="id"/>
</body>
</html>


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics