首页 > 原创作品

emlog添加tag计数器

发布时间:2014-08-23 16:19:44 来源:星知苑 作者:星之宇

emlog添加tag访问计数器,用于清理tag标签,文章越来越多,标签也越来多,需要清理标签提升emlog的性能。

看着后台一大片的标签无从下手,所以我就想到添加个计数器,清理不经常被访问的标签。

这是对emlog程序进行HACK,而且涉及到数据库,请先备份数据库,请谨慎修改操作!!!

1、运行数据库添加对tag表添加字段,建议使用phpmyadmin修改,其中的emlog_tag的前缀改为你当前使用的前缀;

ALTER TABLE emlog_tag ADD count int(10) NOT NULL default '0' AFTER gid;
2、在tag_model.php添加计数函数;[break]
	function updateTagViewCount($tagName) {
		$this->db->query("UPDATE " . DB_PREFIX . "tag SET count=count+1 WHERE tagname='$tagName'");
	}
3、在tag_controller.php增加每次访问标签次数增加
$blogIdStr = $Tag_Model->getTagByName($tag);//在这个代码下面添加下面的代码
$Tag_Model->updateTagViewCount($tag);

4、修改tag_model.php的getTag函数,后台标签排序修改(以数量倒序,以标签的添加顺序倒序)

	/**
	 * 获取标签
	 *
	 * @param int $blogId
	 * @return array
	 */
	function getTag($blogId = '') {
		$tags = array();
		$condition = $blogId ? "WHERE gid LIKE '%,$blogId,%'" : '';
		$query = $this->db->query("select tagname,tid,gid from ".DB_PREFIX."tag $condition ORDER BY count DESC,tid DESC");//添加ORDER BY count DESC,tid DESC以数量倒序,以标签的添加顺序倒序
		while ($row = $this->db->fetch_array($query)) {
			$row['tagname'] = htmlspecialchars($row['tagname']);
			$row['tid'] = intval($row['tid']);
			$row['nums'] = count(explode(',', trim($row['gid'], ",")));
			$tags[] = $row;
		}
		return $tags;
	}

相关合集

  • 体育赛事app哪个好
体育赛事app哪个好

简介:在家里喝着小酒拿起手机来观看各种体育的比赛相信是很多的用户体育迷的喜欢,有的是很多的体育的资讯不管是篮球还是足球等都是可以让平台上面直接的看到各种比赛的真实的现场直播,有的是多种方面的资讯还有赛事的竞猜活动,想要知道哪一个体育软件比较好用的这里就有着一大堆经过测评后的体育软件让你看比赛更轻松。