【一鸣叫兽IT博客】

DedeCMS织梦Tags标签页制作

152人参与 |分类: 织梦笔记|时间:2018年07月01日 00:23

  织梦的默认模版是带有Tag页的,而我们要使用自己的模版建站,一般很少有Tag标签页的,这里就需要我们自己来新建Tag标签页模版,余斗根据Dede自带的模版总结出自建模版实现Tag页的方法,主要需要新建两个文件tag.htm和taglist.htm,其中tag.htm是标签合集页,展示所有的文章标签,taglist.htm是标签列表页,用来展示某个标签的关联文章。

  tag.htm可以直接用文章页的模版来做,只需要把文章内容模块标签替换下即可,具体的代码为:

 {dede:tag row='1000' getall='1' sort='hot'}
<a href='[field:link/]' title="[field:tag/]([field:total/])" style="[field:total runphp=yes]@me=getTagStyle();[/field:total]">[field:tag/]</a>
{/dede:tag}

  taglist.htm可以直接用列表页的模版来做,这里要注意的是,大部分的文章列表页跟Tag列表页的调用标签是一样的,不需要做出修改。

  做好这两个模版,再把title、keywords、description都修改下就完成了Tag标签页的制作,把这两个文件上传到网站模版文件夹下,访问标签页的网址为http://主页/tags.php。

  是不是很简单,那么Tag页面做好后,余斗发现另外一个问题,带大写字母的Tag点击后提示无此标签:

DedeCMS织梦Tags标签页制作 织梦笔记

  该问题是因为DEDECMS标签中包含"大写字母",解决方法:

  在网站根目录下找到tags.php 此文件,将以下代码替换掉:

$tag = trim($_SERVER['QUERY_STRING']);

  换成:

$tag = strtolower(trim($_SERVER['QUERY_STRING']));

  有的网友发现余斗的标签页是标签云样式且是随机颜色及大小,实现dede标签云的效果,包括标签有不同的颜色和字体大小等等,颜色和字体大小都为随机显示,可改变代码来控制其范围,这里要实现这样要加一些修改:

  修改方法:

  1、在/include/common.func.php 中加入如下函数。

//tag函数
  function getTagStyle()
          {
          $minFontSize=8; //最小字体大小,可根据需要自行更改 
          $maxFontSize=18; //最大字体大小,可根据需要自行更改 
          return 'font-size:'.($minFontSize+lcg_value()*(abs($maxFontSize-$minFontSize))).'px; 
          color:#'.dechex(rand(0,255)).dechex(rand(0,196)).dechex(rand(0,255)); 
          }

  此函数的作用是输出随机的样式,包括font-size和color。

  如果你想指定只显示几个字体大小,而不是完全随机,请将上面的函数代码修改为:

function getTagStyle() {
$sizearray = array('8′,'9′,'10′,'11′,'12′,'20′); //自定义字体大小,可根据需要自行修改
return 'font-size:'.$sizearray[rand(0,count($sizearray))].'pt;color:#'.dechex(rand(0,255)).dechex(rand(0,196)).dechex(rand(0,255));
 }

  2、在模板中用如下代码调用标签。

{dede:tag row='45' getall='1' sort='hot'}
    <a href='[field:link/]' title="[field:tag/]([field:total/])" style="[field:total runphp=yes]@me=getTagStyle();[/field:total]">[field:tag/]</a>
   {/dede:tag}


来源:一鸣叫兽博客(QQ:912037469 微信:CS990725),转载请保留出处和链接!

地址:

必填

选填

选填

◎已有 0 人评论,请发表您的观点。

  
    
网站统计代码

分享:

支付宝

微信