当前位置:  编程技术>php

ThinkPHP标签怎么制作?thinkphp标签制作实例教程

    来源: 互联网  发布时间:2014-08-30

    本文导语:  thinkphp标签制作实例教程 thinkphp的默认标签解析器在Lib/Template/TagLib/TagLibCx.class中 其中定义了常用的volist php 等常用thinkphp的标签 这是在这个类中添加一个的标签解析。 标签格式:   代码示例: 标签作用: 循环输出父类id是pa...

thinkphp标签制作实例教程

thinkphp的默认标签解析器在Lib/Template/TagLib/TagLibCx.class中
其中定义了常用的volist php 等常用thinkphp的标签

这是在这个类中添加一个的标签解析。

标签格式:
 

代码示例:

标签作用:
循环输出父类id是parentid的栏目

1,在tagLibCx.class 的私有属性中添加
'category'=array('attr'=>'parentid',level=>3)
其中attr:标签的属性level标签的嵌套层次

2,添加解析函数
标签的解析原理就是通过读取xml文件得到相应的信息,然后再拼凑成所需要的
php源代码,最后通过echo 在页面上输出
 

代码示例:

public function _category($attr,$content)
{
//把标签的所有属性解析到$tag数组里面
$tag = $this->parseXmlAttr($attr,'category');

//得到标签里面的属性
$parentid= $tag['parentid'];

//定义页面解析的变量
$result = !empty($tag['result'])?$tag['result']:'cat'; //定义数据查询的结果存放变量
$key = !empty($tag['key'])?$tag['key']:'i';
$mod = isset($tag['mod'])?$tag['mod']:'2';

//拼凑数据库查询语句 这里直接用了CategoryModel封装好的函数
$sql = "D('Category')->";
$sql .= "getCategorys(".$parentid.')';

//拼凑输出字符
$parsestr = '';
$parsestr .= $content;//解析在category标签中的内容
$parsestr .= '';
return $parsestr;
}

CategoryModel中的getCategorys方法
/*
* 根据parentid得到栏目信息
* $parentid 父id
* $withSelf 是否包含自己
*/
public function getCategorys($parentid,$withSelf=0)
{
$parentid=intval($parentid);
$categorys=$this->where(array('parentid'=>$parentid,'ismenu'=>1))->order('listorder ASC')->select();
//包含自己
if($withSelf)
{
$categorys2=$this->where(array('id'=>$parentid,'ismenu'=>1))->limit(1)->select();
$category=array_merge($categorys,$categorys2);
}
return $categorys;
}

3,页面引用
 

代码示例:


thinkphp标签制作完成,甩掉那个volist在页面上动态输出想要的内容了。

您可能感兴趣的文章:
  • thinkphp自定义标签与view直接标签实例教程
  • ThinkPHP模板引擎导入资源文件教程详解
  • Thinkphp中volist标签用法实例教程
  • thinkPHP的Html模板标签的使用方法

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ThinkPHP之N方法实例教程
  • ThinkPHP之A方法实例教程
  • ThinkPHP之A方法实例讲解
  • ThinkPHP之N方法实例详解
  • ThinkPHP实现批量删除数据的代码实例
  • ThinkPHP中L方法实例教程
  • 采用ThinkPHP中F方法实现快速缓存实例
  • ThinkPHP中R方法实例教程
  • ThinkPHP3.1之D方法实例详解
  • ThinkPHP的Widget扩展实例
  • ThinkPHP的Widget扩展实例 iis7站长之家
  • ThinkPHP之R方法实例详解
  • thinkphp一键清除缓存实例教程
  • ThinkPHP文件上传实例教程
  • ThinkPHP实例化模型的四种方法概述
  • ThinkPHP模板替换与系统常量及应用实例教程
  • ThinkPHP之M方法实例教程
  • ThinkPHP使用UTFWry地址库进行IP定位实例
  • ThinkPHP采用<volist>实现三级循环代码实例
  • ThinkPHP行为扩展Behavior应用实例详解
  • ThinkPHP学习笔记(一)ThinkPHP部署
  • ThinkPHP3.1新特性之对分组支持的改进与完善概述
  • 轻量级PHP开发框架 ThinkPHP
  • 模仿 thinkphp 的 nodejs MVC 框架 Nstorm
  • thinkphp分页保持搜索状态实现方法
  • ThinkPHP中的关联模型注意点
  • ThinkPHP CURD方法之order方法教程详解
  • ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
  • ThinkPHP让分页保持搜索状态的方法
  • ThinkPHP实现事务回滚示例代码
  • Thinkphp模板中截取字符串函数简介


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3