php 标签库,自定义标签库(在公共的html)

本文介绍了一个PHP项目中如何配置和使用自定义标签库。首先,通过设置APP_AUTOLOAD_PATH和TAGLIB_BUILD_IN加载了核心标签库和自定义的Hd标签库。接着,展示了自定义标签库TagLibHd的代码,包括nav、hot和new三个标签的定义和实现,分别用于导航菜单、热门内容和最新内容的展示。在模板中,可以方便地使用这些自定义标签来动态渲染数据。
摘要由CSDN通过智能技术生成

[php]代码库一:在配置中载入标签库

'APP_AUTOLOAD_PATH' => '@.TagLib',

'TAGLIB_BUILD_IN' => 'Cx,Hd', //Cx是tp里的核心标签 Hd是自己写的自定义标签名

二:写一个自定义标签类

import('TagLib');

/*

*自定义标签库

*/

Class TagLibHd extends TagLib{

Protected $tags =array(

'nav' => array('attr' => 'limit,order','close' => 1), //定义属性 close=>1闭合标签

'hot' => array('attr' => 'limit','close' => 1),

'new' => array('attr' => 'limit','close' => 1)

);

Public function _nav ($attr,$content) {

$attr = $this->parseXMLAttr($attr);

$str = <<

\$_nav_cate = M('cate')->order("{$attr['order']}")->select();

import('Class.Category',APP_PATH);

\$_nav_cate = Category::unlimitedForLayer(\$_nav_cate);

foreach (\$_nav_cate as \$_nav_cate_v) :

extract(\$_nav_cate_v);

\$url = U('/c_'.$id);

?>

str;

$str .= $content;

$str .= '<?php endforeach;?>';

return $str;

}

Public function _hot ($attr,$content) {

$attr = $this->parseXMLAttr($attr);

$limit = $attr['limit'];

$str = <<

\$field = array('id','title','hits');

\$_hot_blog = M('blog')->field(\$field)->limit({$limit})->order('hits DESC')->select();

foreach (\$_hot_blog as \$_hot_value) :

extract(\$_hot_value);

\$url = U('/'.\$id);

?>

str;

$str .= $content;

$str .= '<?php endforeach;?>';

return $str;

}

Public function _new ($attr,$content) {

$attr = $this->parseXMLAttr($attr);

$limit = $attr['limit'];

$str = <<

\$field = array('id','title','time','hits');

\$_hot_blog = M('blog')->field(\$field)->limit({$limit})->order('time DESC')->select();

foreach (\$_hot_blog as \$_hot_value) :

extract(\$_hot_value);

\$url = U('/'.\$id);

?>

str;

$str .= $content;

$str .= '<?php endforeach;?>';

return $str;

}

}

?>

三:在模板中使用标签

694748ed64b9390909c0d88230893790.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值