PHPIN.NET

 找回密码
 立即注册
查看: 8047|回复: 4

[技巧手记] 帝国CMS按分类输出所有TAG标签

[复制链接]

469

主题

31

回帖

5497

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5497
发表于 2015-1-17 16:36:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
帝国CMS按分类输出所有TAG标签

本文关键字词:帝国CMS标签,TAG标签,TAGS

在网站根目录新建一个tag.php文件,加入以下代码即可(样式自行修改)
tag.php Code:
  1. <!-- TAG查询代码开始 -->
  2. <?php
  3. require ('./e/class/connect.php'); //引入数据库配置文件和公共函数文件
  4. require ('./e/class/db_sql.php'); //引入数据库操作文件
  5. require ('./e/data/dbcache/class.php'); //引入栏目缓存文件
  6. $link = db_connect(); //连接MYSQL
  7. $empire = new mysqlquery(); //声明数据库操作类
  8. //获得TAG分类
  9. $tagclass_sql = $empire->query("select classid,classname from {$dbtbpre}enewstagsclass where classid!=0 order by classid asc");
  10. while ($tagclass_r = $empire->fetch($tagclass_sql)) {
  11.     $tag_all = '';
  12.     echo '<div class="tagbqn clearfix"><h3>' . $tagclass_r['classname'] . '</h3>' . PHP_EOL;
  13.     /*按分类输出所有已分类TAG*/
  14.     $tag_sql = $empire->query("select tagname from {$dbtbpre}enewstags where cid='{$tagclass_r['classid']}' order by tagid desc");
  15.     while ($tag_r = $empire->fetch($tag_sql)) {
  16.         $tagslink = $public_r['newsurl'] . 'tags-' . urlencode($tag_r['tagname']) . '-0.html'; //TAG标签链接
  17.         $tag_all.= '<a href="' . $tagslink . '" title="' . $tag_r['tagname'] . '">' . $tag_r['tagname'] . '</a>';
  18.     }
  19.     echo $tag_all . PHP_EOL . '</div>' . PHP_EOL;
  20. }
  21. /*其他TAG标签*/
  22. echo '<div class="tagbqn clearfix"><h3>未分类标签</h3>' . PHP_EOL;
  23. /*按分类输出所有TAG*/
  24. $tag_sql = $empire->query("select tagname from {$dbtbpre}enewstags where cid=0 order by tagid desc");
  25. while ($tag_r = $empire->fetch($tag_sql)) {
  26.     $tagslink = $public_r['newsurl'] . 'tags-' . urlencode($tag_r['tagname']) . '-0.html'; //TAG标签链接
  27.     $tag_other.= '<a href="' . $tagslink . '" title="' . $tag_r['tagname'] . '">' . $tag_r['tagname'] . '</a>';
  28. }
  29. echo $tag_other . PHP_EOL . '</div>' . PHP_EOL;
  30. db_close(); //关闭MYSQL链接
  31. $empire = null; //注消操作类变量
  32. ?>
  33. <!-- TAG查询代码结束 -->
复制代码


以上只是实例代码。更多技巧请自行拓展。
附加例子(ECMS7.5以TAGID伪静态方式):
  1. <!-- TAG查询代码开始 -->
  2. <?php
  3. require ('./e/class/connect.php'); //引入数据库配置文件和公共函数文件
  4. require ('./e/class/db_sql.php'); //引入数据库操作文件
  5. require ('./e/data/dbcache/class.php'); //引入栏目缓存文件
  6. $link = db_connect(); //连接MYSQL
  7. $empire = new mysqlquery(); //声明数据库操作类
  8. //获得TAG分类
  9. $tagclass_sql = $empire->query("select classid,classname from {$dbtbpre}enewstagsclass where classid!=0 order by classid asc");
  10. while ($tagclass_r = $empire->fetch($tagclass_sql)) {
  11.     $tag_all = '';
  12.     echo '<div class="tagbqn clearfix"><h3>' . $tagclass_r['classname'] . '</h3>' . PHP_EOL;
  13.     /*按分类输出所有已分类TAG*/
  14.     $tag_sql = $empire->query("select tagid,tagname from {$dbtbpre}enewstags where cid='{$tagclass_r['classid']}' order by tagid desc");
  15.     while ($tag_r = $empire->fetch($tag_sql)) {
  16.         $tagslink = $public_r['newsurl'] . 'tags-etagid' . $tag_r['tagid'] . '-0.html'; //TAG标签链接
  17.         $tag_all.= '<a href="' . $tagslink . '" title="' . $tag_r['tagname'] . '">' . $tag_r['tagname'] . '</a>';
  18.     }
  19.     echo $tag_all . PHP_EOL . '</div>' . PHP_EOL;
  20. }
  21. /*其他TAG标签*/
  22. echo '<div class="tagbqn clearfix"><h3>未分类标签</h3>' . PHP_EOL;
  23. /*按分类输出所有TAG*/
  24. $tag_sql = $empire->query("select tagid,tagname from {$dbtbpre}enewstags where cid=0 order by tagid desc");
  25. while ($tag_r = $empire->fetch($tag_sql)) {
  26.     $tagslink = $public_r['newsurl'] . 'tags-etagid' . $tag_r['tagid'] . '-0.html'; //TAG标签链接
  27.     $tag_other.= '<a href="' . $tagslink . '" title="' . $tag_r['tagname'] . '">' . $tag_r['tagname'] . '</a>';
  28. }
  29. echo $tag_other . PHP_EOL . '</div>' . PHP_EOL;
  30. db_close(); //关闭MYSQL链接
  31. $empire = null; //注消操作类变量
  32. ?>
  33. <!-- TAG查询代码结束 -->
复制代码

3

主题

24

回帖

228

积分

中级会员

Rank: 3Rank: 3

积分
228
发表于 2018-7-27 18:32:55 | 显示全部楼层
为什么分类的tag名称会重合

如下图,分类1和飞龙2明明各是各的tag, 但飞龙2包含了分类1的tag




469

主题

31

回帖

5497

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5497
 楼主| 发表于 2018-7-29 10:18:05 | 显示全部楼层
jwmm 发表于 2018-7-27 18:32
为什么分类的tag名称会重合

如下图,分类1和飞龙2明明各是各的tag, 但飞龙2包含了分类1的tag

整理失误,已修复!

3

主题

24

回帖

228

积分

中级会员

Rank: 3Rank: 3

积分
228
发表于 2018-8-1 18:19:44 | 显示全部楼层
本帖最后由 jwmm 于 2018-8-1 18:20 编辑

还是老样子。没变化

469

主题

31

回帖

5497

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5497
 楼主| 发表于 2018-8-2 11:14:32 | 显示全部楼层
jwmm 发表于 2018-8-1 18:19
还是老样子。没变化

已修复,感谢测试和建议
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|PHPIN.NET ( 冀ICP备12000898号-14 )|网站地图

GMT+8, 2024-3-29 18:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表