DEDE热门tag,DEDE首页digg,DEDE随机热门关键字调用方法

所属分类: CMS教程 / dedecms 阅读数: 1771
收藏 0 赞 0 分享

DIGG

orderby=digg 就是按照DIGG的次数来排序的


{dede:arclist row=5 titlelen=24 orderby=digg}
[field:textlink/] [field:digg/]<br/>
{/dede:arclist}

具体详细代码如下

<div class="dignews margintop">
<div class="digtitle"><span></span>
<ul id="digtitle">
<li><a href="###">热门</a> </li>
<li><a href="###">推荐</a> </li>
<li><a href="###">关注</a> </li>
</ul>
</div>
<dl id="diglist"><dt>正在载入,请稍后... <!--DIG菜单:热门--></dt><dd><!--DIG循环体开始-->{dede:arclist row=5 titlelen=24 orderby=digg}
<div class="digbox" id="digboxa">
<div class="diglink" id="digg[field:id/]"><span>[field:digg/]</span> <a class="digvisited" href="javascript:Digg('digg',[field:id/]);"><!--顶一下--></a></div>
<div class="title">[field:textlink/]<span>[field:pubdate function=strftime('%m-%d',@me)/]</span> </div>
<div class="preview">[field:info/]... </div>
</div>
{/dede:arclist} <!--DIG循环体结束--><!--DIG菜单:推荐--></dd><dd><!--DIG循环体开始-->{dede:arclist row=5 titlelen=24 orderby=digg att=5}
<div class="digbox" id="digboxb"> 
<div class="diglink" id="digg[field:id/]"><span>[field:digg/]</span> <a class="digvisited" href="javascript:Digg('digg',[field:id/]);"><!--顶一下--></a></div>
<div class="title">[field:textlink/]<span>[field:pubdate function=strftime('%m-%d',@me)/]</span> </div>
<div class="preview">[field:info/]... </div>
</div>
{/dede:arclist} <!--DIG循环体结束--><!--DIG菜单:关注--></dd><dd><!--DIG循环体开始-->{dede:arclist row=5 titlelen=24 orderby=click}

<div class="digbox" id="digboxc">
<div class="diglink" id="digg[field:id/]"><span>[field:digg/]</span> <a class="digvisited" href="javascript:Digg('digg',[field:id/]);"><!--顶一下--></a></div>
<div class="title">[field:textlink/]<span>[field:pubdate function=strftime('%m-%d',@me)/]</span> </div>
<div class="preview">[field:info/]... </div>
</div>
{/dede:arclist} <!--DIG循环体结束--></dd></dl></div>
</div> 
<!--左侧栏结束--><script language="javascript" type="text/javascript">
<!--

//DIGG资讯无刷新切换
pigzmo("digtitle","diglist",3,3000);

-->
</script><!--中栏-->

DEDE5的DIGG功能,顶完可以看到“顶”的数量是加了1,但是如果刷新页面,你会发现“顶”的数量有复原了。
这是因为文章被顶数,已经被生成了静态HTML固定下来显示了,除非直到下一次后台更新此文章

那么我做了以下修改,就是当当前文章被顶的时候,同时更新一次该文章,让它的静态HTML里的“顶”数是最新的真实数字。 

修改方法很简单,如下:

打开DEDE根目录下的digg.php 文件,在26行插入以下三行代码即可
include_once(dirname(__FILE__)."/include/inc_archives_view.php");
$arc = new Archives($aid);
$reurl = $arc->MakeHtml();


首页实现顶一下自动刷新一下方法: 

打开diggindex.php 文件。。
找到
header("Expires:0");
header("Content-Type: text/html; charset=gb2312");

在下面加入

复制代码
代码如下:

if($action == indexdigg ){
echo '<span>'.$row['digg'].'</span>';
echo "<a class=\"digvisited\" href=\"javascript:Digg(\"digg\",".$aid.");\"></a>";
exit();
}

首页模板加入


复制代码
代码如下:

<!-- Digg 参数 -->
<script language="javascript" src="{dede:global name='cfg_cmspath'/}/include/dedeajax2.js"></script>
<script language="javascript">
function Digg(divId,aid){
var taget_obj = document.getElementById(divId+''+aid);
var myajax = new DedeAjax(taget_obj,false,false,"","","");
myajax.SendGet2("/diggindex.php?action=indexdigg&aid="+aid);
DedeXHTTP = null;
}
</script>

实例:

<div class="right"><!-- Digg 参数 -->
<script language="javascript" src="{dede:global name='cfg_cmspath'/}/include/dedeajax2.js"></script>
<script language="javascript">

function Digg(divId,aid){
var taget_obj = document.getElementById(divId+''+aid);
var myajax = new DedeAjax(taget_obj,false,false,"","","");
myajax.SendGet2("/diggindex.php?action=indexdigg&aid="+aid);
DedeXHTTP = null;
}
</script>
<div class="digtitle">DIGG排行</div>
<div class="diglist">
{dede:arclist row=9 titlelen=24 infolen='29' orderby=digg}
<dd>
<div class="diglink" id="digg[field:id/]"><span>[field:digg/]</span> <a class="digvisited" href="javascript:Digg('digg',[field:id/]);"><!--顶一下--></a></div>
<h3>[field:textlink/]</h3>
[field:info/]...
</dd>
{/dede:arclist}
</div>
</div>

模板代码:
{dede:tag row='10' sort='month' } <a class="tag" href="[field:link/]">[field:tagname/] </a>{/dede:tag} <script language="javascript">
<!--
var tag_a=document.getElementsByTagName("a");
for( i in tag_a){
var offset=6;
var num=4;
if(tag_a[i].className=="tag"){
var rnd=Math.ceil((num+offset)*Math.random());
if(rnd>offset){
tag_a[i].className="tag"+(rnd-offset);
}
}
}
//-->
</script>


CSS代码:

.tag1 { color:#339900;font-weight:bold;}
.tag2 { color:#e65730;}
.tag3 { color:#00b9da;}
.tag4 { color:#FE3981;font-weight:bold;font-size:14px;}


更换标签方式:
默认调用的是当月热门标签,如果换想其他的可以:
最新标签 {dede:tag row='30' sort='new'}<a href="[field:link/]">[field:highlight/]([field:result/])</a> {/dede:tag}
当月热门标签 {dede:tag row='30' sort='month'}<a href="[field:link/]">[field:tagname/]([field:result/])</a> {/dede:tag}
随机标签 {dede:tag row='60' sort='rand'}<a href="[field:link/]">[field:highlight/]([field:result/])</a> {/dede:tag}


网页部分的代码如下:
<div>
<h2><span>热门标签 <img alt="" src=http://qlzhan.com/a/DEDEcms/20091005/"images_ex/image_v1/ico_arrow_black.gif" /></span></h2>
<ul>{dede:loop table='dede_search_keywords' sort='keyword' row='40' if=''}
<li><a class="tag" href="plus/search.php?keyword=[field:keyword/]">[field:keyword/]</a> {/dede:loop} </li>
</ul>
</div>
<script language="javascript">
<!--
var tag_a=document.getElementsByTagName("a");
for( i in tag_a){
var offset=6;
var num=4;
if(tag_a[i].className=="tag"){
var rnd=Math.ceil((num+offset)*Math.random());
if(rnd>offset){
tag_a[i].className="tag"+(rnd-offset);
}
}
}
//-->
</script>
<div></div>
CSS部分的代码如下:
.tag1 { color:#339900;font-weight:bold;}
.tag2 { color:#e65730;}
.tag3 { color:#00b9da;}
.tag4 { color:#FE3981;font-weight:bold;font-size:14px;}
使用说明: ◆此彩色关键字代码中有4种颜色的变化,如果想增加更多颜色变化, 只需要修改var num=4;和css部分增加.tag 例如:var num=5; css里增加.tag5{ color:#00b9da;} ,当然,自己也可以修改相应css,改变字体的颜色,大小,字体...等等,自由发挥吧!

更多精彩内容其他人还在看

dedecms模板标签如何做判断示例代码

dedecms模板标签是可以做判断的,不过具体要看是哪个标签,有些标签是无法判断的。必须改源文件,下面有个示例,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

DEDE [field:global name=autoindex/] 按序号排列从0从1开始

调试程序用到[field:global name=autoindex/ ] 调用指定频道而频道前面需要加CSS代码,CSS代码正好是按序号排列的,于是修改了一下代码,在此与大家分享下,感兴趣的朋友可以收藏下
收藏 0 赞 0 分享

DEDECMS的20位MD5加密密文解密示例介绍

dedecms的20位md5加密算噶是从32位md5中截取的20位,所以去掉前3位喝最后1位,即可获得16位md5值,即可破解15位md5,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

织梦dedecms登录管理后台总是验证码错误的解决方案

织梦dedecms登录管理后台总是验证码错误在网上找了很多的解决方案,说法有很多种,但最后都无法解决这个问题,感兴趣的朋友可以了解下本文
收藏 0 赞 0 分享

如何让dedecms变成全站动态浏览有利于企业站

教大家如何让dedecms(织梦)变成全站动态浏览,对于企业站很有利哦!有时候dedecms全站的静态反而对于建设企业站不利,具体实现如下,感兴趣的朋友可以参考下,希望对大家有所帮助
收藏 0 赞 0 分享

使用dedecms搭建自己的本地网站(全程图解)

对于初学而言,网站都是在本地调试好后,才通过ftp上传到所买的空间或虚拟主机上,而无论是处于什么情况,学习在本地搭建网站的方法对于初学者是很有用的,下面与大家分享下具体的搭建过程
收藏 0 赞 0 分享

适合企业站的织梦常用标签大全(自己整理)

对于企业站而言其实不用了解那么多标签,在这里分享下自己总结的适合企业站的标签大全,希望大家收藏,以备不时之需
收藏 0 赞 0 分享

DEDECMS最为常用的分页标签及分页样式代码

今天我要分享的是我们最为常用的分页列表及分页样式代码,很多人在这个上面花费的时间较多,其实很简单,如果使用我下面的通用版本就很轻而易举的完工,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

dede标签云如何生成不同颜色、不同大小的tag标签

tag标签做网站的朋友想必知道吧,在本文要为大家讲解的的是dede标签云的使用,如何生成不同颜色、不同大小的tag标签,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

dedecms列表页标题title后加上页数其标题不重复的方法

在列表页的标题后加上页数使列表页的标题不重复这样更利于优化,下面是从搜索整理的解决方法,有类似需求的朋友可以参考下,希望对大家有所帮助
收藏 0 赞 0 分享
查看更多