用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - php代码库

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

2015-03-28 作者: 云代码会员举报

[php]代码库

一:在配置中载入标签库

	'APP_AUTOLOAD_PATH' => '@.TagLib',
	'TAGLIB_BUILD_IN' => 'Cx,Hd',  //Cx是tp里的核心标签 Hd是自己写的自定义标签名
二:写一个自定义标签类
<?php
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 = <<<str
<?php
		\$_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 = <<<str
<?php
		\$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 = <<<str
<?php
		\$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;
	}

}
?>
三:在模板中使用标签
	


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...