Thinkphp模板的使用
模板标签
- 内置标签:include,import,volist,foreach,for,switch,compare,present,empty,defined,if/else
- 输出php代码:PHP标签
- 原样输出:literal标签<literal></literal>标签是避免解析
标签库
- 使用taglib标签<taglib name="Views\TagLib\Jike"/><Jike:friends name="jike_user" uid="2"></Jike:friends>
- 标签库的加载:taglib标签,标签预加载配置(TAGLIB_PRE_LOAD)'TAGLIB_PRE_LOAD'=>'Views\TagLib\Jike' <Jike:friends name="jike_user" uid="2"></Jike:friends>
- 配置内置标签库:'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模板的使用的更多相关文章
- ThinkPHP 模板substr的截取字符串函数
ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...
- [转]thinkphp 模板显示display和assign的用法
thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...
- Thinkphp 模板中直接对数据处理 模板中使用函数 中文字符串截取
1.Thinkphp 模板中直接对数据处理:{$data.name|substr=0,3} 2.中文字符串截取函数:mb_substr=0,14,'utf-8' 3.中文字符串统计:iconv_str ...
- ThinkPHP 模板判断输出--Switch 标签
ThinkPHP 模板引擎支持 switch 判断,根据不同情况输出不同的值,格式如下:<switch name="变量名" > <case value=& ...
- thinkphp模板中foreach循环没数据的错误解决
从控制器方法中$this->assign();函数将值传递给html模板 但是模板不显示数据,直接出来的是代码,效果就和html中写了php代码不能解析一样. 原来是我将thinkphp框架的引 ...
- ThinkPHP 模板截取字符串 【转载】
对于英文字符可使用如下形式(模板中): {$vo.title|substr=,} 如果是中文字符thinkphp提供了msubstr,用法如下: function msubstr($str, $sta ...
- (转) ThinkPHP模板自定义标签使用方法
这篇文章主要介绍了ThinkPHP模板自定义标签使用方法,需要的朋友可以参考下 转之--http://www.jb51.net/article/51584.htm 使用模板标签可以让网站前台开发 ...
- thinkPHP 模板的使用技巧(十三)
原文:thinkPHP 模板的使用技巧(十三) 模板的使用技巧:页面跳转 .模板包含.模板渲染.模板的继承 页面跳转 <a href='__URL__/index'>我要跳转到首页面,用这 ...
- thinkPHP 模板中的语法知识 详细介绍(十二)
原文:thinkPHP 模板中的语法知识 详细介绍(十二) 本章节:介绍模板中的语法,详细的语法介绍 一.导入CSS和JS文件 ==>记住常量的是大写 1.css link .js sc ...
- 转换器2:ThinkPhp模板转Django模板
前天写了个<ThinkPhp模板转Flask模板> 居然被同事鄙视了,原因是他用Django,我用Flask,为了避免被他继续安利Django的强大.我决定写一个Django模板转换器. ...
随机推荐
- TreeSet对非自然顺序元素的排序
/* 1. 往TreeSet添加元素的时候,如果元素本身具备了自然顺序的特性,那么就按照元素自然顺序的特性进行排序存储. 2. 往TreeSet添加元素的时候,如果元素本身不具备自然顺序的特性,那么该 ...
- 在Core环境下用WebRequest连接上远程的web Api 实现数据的简单CRUD(续)
这篇博客是上篇博客的续写,上篇博客用的是HttpClient取远程数据,用WebRequest提交,更新,删除数据.上篇本来想全文都用httpClient,可是当时无论如何也实现不了数据的提交,于是换 ...
- 使用Dotfuscator加密混淆程序以及如何脱壳反编译
混淆演示 首先介绍如何使用Dotfuscator对.net程序加密码混淆/加壳 C#或vb.net编写的应用程序或DLL. 这里随便创建了一个C#的命令行控制台程序.程序很简单,对当前的时间进行了AE ...
- IOS中常用的UIColor
UIColor + (UIColor *)blackColor; // 0.0 white 黑色 + (UIColor *)darkGrayColor; // 0.333 white 深灰色 + (U ...
- 微软Build 2017第二天 .NET Standard 2.0 Preview 的客户端跨平台
微软公司一年一度的开发者大会,即“Microsoft Build 2017”在总部西雅图正式开幕.按照官方安排,本次大会将持续 3 天,主题围绕微软公司各项最新技术成果的展示和研讨,包括与微软相关的产 ...
- 学习笔记:javascript内置对象:数组对象
1.数组对象的创建 1.设置一个长度为0的数组 var myarr=new array(); 2.设置一个长度为n的数组 var myarr=new arr(n); 3.声明一个赋值的指定长度 ...
- JEESZ-Zookeeper集群安装
1. 在根目录创建zookeeper文件夹(service1.service2.service3都创建) [root@localhost /]# mkdir zookeeper 通过Xshell上传文 ...
- MyBatis3入门
这里对mybatis的入门介绍以官方最新MyBatis3.4.1为准,具体文档及jar包请访问:https://github.com/mybatis/mybatis-3/releases. 以前经常都 ...
- jenkins 集成钉钉机器人
最早做Jenkins发布完成以后通过邮件发送信息通知相关的联系人,发现邮件会受限于大家接收的设置,导致不能及时的看到相关的发布内容,公司使用钉钉做为公司内部的通讯工具,所以想通过Jenkins发布完成 ...
- sendemail 发送成功Email was sent successfully!邮箱却收不到邮件
在测试sendemail的时候,发现好多次明明提示已经发送成功了,但是邮箱却一直收不到邮件. 查询了好多资料,主要原因有两个 1.如果Linux是sentos的话,主要是防火墙iptables和sel ...