php taglib,thinkphp中 taglib标签应用

php taglib,thinkphp中 taglib标签应用1 配置文件中加上 APP AUTOLOAD PATH gt TagLib 2 在项目的 Lib 下新建 TagLib 文件夹复制 TagLibHtml class php 到该目录下面也可以自己定义格式 Tag 大驼峰命名 class php 实例 TagLibCms class php 代码下面 3 模版或 hhhTagLibCms class php 的代码 code

1、配置文件中加上:

‘APP_AUTOLOAD_PATH’         =>  ‘@.TagLib’,

2、在项目的/Lib/下新建 TagLib文件夹 复制TagLibHtml.class.php到该目录下面

也可以自己定义格式Tag大驼峰命名.class.php

实例:TagLibCms.class.php代码下面;

3、模版

hhh

TagLibCms.class.php的代码:

[code]

import(“TagLib”);

class TagLibCms extends TagLib{

private   $CategoryArr = array();

private   $SubString = ”;

protected $tags = array(

‘article’=>array(‘attr’=>’name,field,limit,order,cid,where,sql,key,mod’,’level’=>3),

);

public function _article($attr,$content){

$tag = $this->parseXmlAttr($attr,’article’);

$result = !empty($tag[‘result’])?$tag[‘result’]:’article’; //定义数据查询的结果存放变量

$key = !empty($tag[‘key’])?$tag[‘key’]:’i’;

$mod = isset($tag[‘mod’])?$tag[‘mod’]:’2′;

//print_r($tag[‘name’]);die();

if ($tag[‘name’]){

$sql = “M(‘{$tag[‘name’]}’)->”;

$sql .= ($tag[‘field’])?”field({$tag[‘field’]})->”:”;

$sql .= ($tag[‘order’])?”order({$tag[‘order’]})->”:”;

if($tag[‘cid’]){

$cidarr = explode(‘,’,$tag[‘cid’]);

foreach($cidarr AS $k=>$v){

$this->getSubCategory($v);

}

$cidstr = implode(“,”,$this->SubString);

$tag[‘where’] = “cid IN(“.$cidstr.”)”;

$sql .= ($tag[‘where’])?”where(\”{$tag[‘where’]}\”)->”:”;

}else{

$sql .= ($tag[‘where’])?”where(\”{$tag[‘where’]}\”)->”:”;   //被重新处理过了

}

$sql .= “select()”;

echo $sql;die();

}

//下面拼接输出语句

$parsestr = ‘<?php $_result=’.$sql.’; if ($_result): $’.$key.’=0;’;

$parsestr .= ‘foreach($_result as $key=>$’.$result.’):’;

$parsestr .= ‘++$’.$key.’;$mod = ($’.$key.’ % ‘.$mod.’ );?>’;

$parsestr .= $content;//解析在article标签中的内容

$parsestr .= ‘<?php endforeach; endif;?>’;

return $parsestr;

}

}

[/code]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233443.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 定时器setTimeout和setInterval的简单应用[通俗易懂]

    定时器setTimeout和setInterval的简单应用[通俗易懂]本文简单利用定时器setTimeout和setInterval举了两个小栗子:定时炸弹和1-100递增

    2022年10月4日
    2
  • int 和bigint差别有多大?

    int 和bigint差别有多大?

    2021年10月27日
    85
  • id门禁卡复制到手机_手机NFC也可以刷ID卡门禁?无聊测试居然成功了![通俗易懂]

    id门禁卡复制到手机_手机NFC也可以刷ID卡门禁?无聊测试居然成功了![通俗易懂]前段时间换了个K20pro,有NFC功能后手又痒了,就想折腾一下NFC的日常使用。小区的门禁前几个月刚换成了亲邻开门,可以用微信小程序开门,但每次都要拿手机出来点几下(特别是手机提着东西的时候),还是没有手机接触式开门方便。拿出家里的门禁卡放手机背面,没反应,我NFC应该没问题呀!换另外一台华为手机还是没反应!上网一查,我家的门禁卡居然是ID卡!但还是不死心,在小米钱包里虚拟了一张门卡,放到小区门…

    2022年6月10日
    1.6K
  • 多图详解 DeepMind 的超人类水准星际争霸 AI 「AlphaStar」 …[通俗易懂]

    多图详解 DeepMind 的超人类水准星际争霸 AI 「AlphaStar」 …[通俗易懂]雷锋网(公众号:雷锋网)AI科技评论按:英国当地时间1月24日,DeepMind在伦敦组织线上直播,向全世界的游戏AI研究人员以及游戏爱好者们介绍自己的AI研发最新进展。参加直播的DeepMind研究人员是DeepMind团队联合研发负责人OriolVinyals和DavidSilver,后者也是Alph…

    2022年6月1日
    39
  • dubbo负载均衡策略和集群容错机制

    dubbo负载均衡策略和集群容错机制(1)dubbo负载均衡策略(1)dubbo负载均衡策略1)randomloadbalance默认情况下,dubbo是randomloadbalance随机调用实现负载均衡,可以对provider不同实例设置不同的权重,会按照权重来负载均衡,权重越大分配流量越高,一般就用这个默认的就可以了。2)roundrobinloadbalance还有roundrobinloadbalance,这个的话默认就是均匀地将流量打到各个机器上去,但是如果各个机器的性能不一样,容易导致性能差的机器

    2022年7月11日
    21
  • 完整javaEE学生信息管理系统[通俗易懂]

    完整javaEE学生信息管理系统[通俗易懂]基于javaweb的ssm学校教务管理系统(管理员,教师,学生)文章结构一、开发框架及业务方向1.开发环境2.开发框架3.整体业务二、项目结构及页面展示1.项目整体结构2.用户页面3.管理员页面***需要源码的加企鹅:671033846;备注CSDN即可******文章结构一、开发框架及业务方向1.开发环境操作系统不限:java特性,一套代码,导出运行jdk版本不限:推荐jdk1.8tomcat版本不限:推荐Tomcat8.0数据库mysql:版本不限,推荐mysql8.0以下开发工具:e

    2022年10月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号