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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • kl1083_奥什科什M1083

    kl1083_奥什科什M1083Windy 定义了一种 Windy 数:不含前导零且相邻两个数字之差至少为 2 的正整数被称为 Windy 数。Windy 想知道,在 A 和 B 之间,包括 A 和 B,总共有多少个 Windy 数?输入格式共一行,包含两个整数 A 和 B。输出格式输出一个整数,表示答案。数据范围1≤A≤B≤2×109输入样例1:1 10输出样例1:9输入样例2:25 50输出样例2:20#include<bits/stdc++.h>using namespace std;

    2022年8月10日
    2
  • conductor 系统任务

    conductor 系统任务动态任务 参数 dynamicTaskN 来自任务输入的参数的名称 其值用于调度任务 例如如果参数的值为 ABC 则调度的下一个任务类型为 ABC Example name user task taskReferenc t1 inputParamet files work

    2025年6月24日
    0
  • spring boot 2.1学习笔记【五】SpringBootTest单元测试及日志「建议收藏」

    spring boot 2.1学习笔记【五】SpringBootTest单元测试及日志「建议收藏」springboot2.1单元测试,及日志输出

    2022年6月10日
    76
  • journalctl工具基础介绍

    journalctl工具基础介绍journalctl工具是CentOS-7才有的工具Systemd统一管理所有Unit的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。日志的配置文件/etc/systemd/journald.confjournalctl用法查看所有日志(默认情况下,只保存本次启动的日志)journalctl查看内核日志(不显示应用日志)journalctl-k查看系统本次启动的日志

    2022年5月10日
    43
  • 【LeetCode】Linked List Cycle

    【LeetCode】Linked List Cycle

    2022年1月6日
    50
  • Idea使用SVN教程

    Idea使用SVN教程第一步:下载svn的客户端,通俗一点来说就是小乌龟啦!去电脑管理的软件管理里面可以直接下载,方便迅速 下载之后直接安装就好了,但是要注意这里的这个文件也要安装上,默认是不安装的,如果不安装,svn中的bin目录下就会没有svn.exe,这个待会会用到,所以一点要注意哦。(都是坑啊)  然后就下一步下一步就安装好了。第二步:如果已经搭建好了svn服务的话,就要开始在idea中配置相关的配置了…

    2022年5月14日
    58

发表回复

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

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