模板标签

  1. 内置标签:include,import,volist,foreach,for,switch,compare,present,empty,defined,if/else
  2. 输出php代码:PHP标签
  3. 原样输出:literal标签<literal></literal>标签是避免解析

标签库

  1. 使用taglib标签<taglib name="Views\TagLib\Jike"/><Jike:friends name="jike_user" uid="2"></Jike:friends>
  2. 标签库的加载:taglib标签,标签预加载配置(TAGLIB_PRE_LOAD)'TAGLIB_PRE_LOAD'=>'Views\TagLib\Jike' <Jike:friends name="jike_user" uid="2"></Jike:friends>
  3. 配置内置标签库:'TAGLIB_BUILD_IN'=>'Views\TagLib\Jike'  <friends name="jike_user" uid="2"></friends>

如何自定义标签库:

打开 Thinkphp/Library/Think/Template/TagLib/Cx.class.php

在网站的应用目录下创建一个标签的类文件

<?php
namespace Views\TagLib;
use Think\Template\TagLib;
class Jike extends TagLib
{
//定义标签列表
protected $tags=array(
'friends'=>array(
'attr'=>'uid',
'close'=>1
)
);
public function _friends($tag,$content)
{
$id=$tag['uid'];
$name=$tag['name'];
$empty=$tag['empty'];
$unique=rand();
$parse_string='<?php';
$parse_string='$_FRIENDS_'$unique'=get_user_friends('$id');';
$parse_string='if(empty($_FRIENDS_'$unique')){echo $empty;}';
$parse_string='else';
$parse_string='{';
$parse_string='foreach($_FRIENDS_'$unique' as $key=>$'$name'){';
$parse_string='?>';
$parse_string=$content;
$parse_string='<?php';
$parse_string='}';
$parse_string='}';
$parse_string='?>';
return $parse_string;
}
}

Thinkphp模板的使用的更多相关文章

  1. ThinkPHP 模板substr的截取字符串函数

    ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...

  2. [转]thinkphp 模板显示display和assign的用法

    thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...

  3. Thinkphp 模板中直接对数据处理 模板中使用函数 中文字符串截取

    1.Thinkphp 模板中直接对数据处理:{$data.name|substr=0,3} 2.中文字符串截取函数:mb_substr=0,14,'utf-8' 3.中文字符串统计:iconv_str ...

  4. ThinkPHP 模板判断输出--Switch 标签

    ThinkPHP 模板引擎支持 switch 判断,根据不同情况输出不同的值,格式如下:<switch name="变量名" >    <case value=& ...

  5. thinkphp模板中foreach循环没数据的错误解决

    从控制器方法中$this->assign();函数将值传递给html模板 但是模板不显示数据,直接出来的是代码,效果就和html中写了php代码不能解析一样. 原来是我将thinkphp框架的引 ...

  6. ThinkPHP 模板截取字符串 【转载】

    对于英文字符可使用如下形式(模板中): {$vo.title|substr=,} 如果是中文字符thinkphp提供了msubstr,用法如下: function msubstr($str, $sta ...

  7. (转) ThinkPHP模板自定义标签使用方法

    这篇文章主要介绍了ThinkPHP模板自定义标签使用方法,需要的朋友可以参考下  转之--http://www.jb51.net/article/51584.htm   使用模板标签可以让网站前台开发 ...

  8. thinkPHP 模板的使用技巧(十三)

    原文:thinkPHP 模板的使用技巧(十三) 模板的使用技巧:页面跳转 .模板包含.模板渲染.模板的继承 页面跳转 <a href='__URL__/index'>我要跳转到首页面,用这 ...

  9. thinkPHP 模板中的语法知识 详细介绍(十二)

    原文:thinkPHP 模板中的语法知识 详细介绍(十二) 本章节:介绍模板中的语法,详细的语法介绍 一.导入CSS和JS文件    ==>记住常量的是大写 1.css link .js  sc ...

  10. 转换器2:ThinkPhp模板转Django模板

    前天写了个<ThinkPhp模板转Flask模板> 居然被同事鄙视了,原因是他用Django,我用Flask,为了避免被他继续安利Django的强大.我决定写一个Django模板转换器. ...

随机推荐

  1. css写出三角形(兼容IE)

    css写出三角形   利用css写三角形,兼容IE7 .arrow-up { width:0px; height:0px; border-left:10px solid transparent; bo ...

  2. Bash 的若干基本问题

    Bash 的若干基本问题   这里介绍一些bash启动前.后的问题,以及一些使用bash需要注意的基本问题.     1.Bash的介绍   Bash是一种Shell程序,它是一般的Linux系统中的 ...

  3. ubuntu系统搭建以太坊私有链

    1.安装curl.git apt-get update apt-get install git apt-get install curl 2.安装go curl -O https://storage. ...

  4. self 和 super 关键字

    self 相当于 java中的this self使用总结 1.self谁调用当前方法,self就代表谁 2.self在对象方法中,self代表当前对象 3.self在类方法中个,self代表类 [se ...

  5. mysql主从复制-异步复制

    一.创建复制账号:      在Master的数据库中建立一个备份帐户:每个Slave使用标准的MySQL用户名和密码连接master.      进行复制操作的用户会授予REPLICATION SL ...

  6. Python 基础之socket编程(二)

    Python 基础之socket编程(二) 昨天只是对socket编程做了简单的介绍,只是把socket通信的框架搭建起来,要对其中的功能进行进一步的扩充,就来看看今天的料哈! 一.基于tcp的套接字 ...

  7. Redis学习-Set

    在Redis中,Set类型是没有排序的字符集合,和List类型一样,可以在该类型的数据值上执行添加.删除或判断某一元素是否存在等操作.需要说明的是,这些操作的时间复杂度为O(1),即常量时间内完成次操 ...

  8. JAVA的Condition详解

    Condition 将 Object 监视器方法(wait().notify()和notifyAll())分解成截然不同的对象,以便通过将这些对象与任意Lock实现组合使用,为每个对象提供多个等待 s ...

  9. TCP协议简介

    1.TCP协议的特点 TCP是面向连接的运输层协议 每一条TCP连接只能有两个端点.TCP只能进行点对点通信 TCP提供可靠交付的服务.通过TCP连接传输的数据,无差错.不丢失.不重复.并且按序到达 ...

  10. 深入学习webpack(一)

    深入学习webpack(一) 模块化的相关库和工具已经很多了,包括require.js.sea.js和一些工程化工具webpack.gulp.grant.那么我们该如何选择呢? 其实,我们只需要掌握了 ...