找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1018|回复: 0

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

[复制链接]
发表于 2018-3-10 08:17:37 | 显示全部楼层 |阅读模式 来自 河南省新乡市
点评:DEDE中热门tag,DEDE首页digg,DEDE随机热门关键字调用方法,需要的朋友可以参考下
   
DIGG
orderby=digg 就是按照DIGG的次数来排序的

  1. {dede:arclist row=5 titlelen=24 orderby=digg}
  2. [field:textlink/] [field:digg/]<br/>
  3. {/dede:arclist}
复制代码

具体详细代码如下
  1. <div class="dignews margintop">
  2. <div class="digtitle"><span></span>
  3. <ul id="digtitle">
  4. <li><a href="###">热门</a> </li>
  5. <li><a href="###">推荐</a> </li>
  6. <li><a href="###">关注</a> </li>
  7. </ul>
  8. </div>
  9. <dl id="diglist"><dt>正在载入,请稍后... <!--DIG菜单:热门--></dt><dd><!--DIG循环体开始-->{dede:arclist row=5 titlelen=24 orderby=digg}
  10. <div class="digbox" id="digboxa">
  11. <div class="diglink" id="digg[field:id/]"><span>[field:digg/]</span> <a class="digvisited" href="javascript:Digg('digg',[field:id/]);"><!--顶一下--></a></div>
  12. <div class="title">[field:textlink/]<span>[field:pubdate function=strftime('%m-%d',@me)/]</span> </div>
  13. <div class="preview">[field:info/]... </div>
  14. </div>
  15. {/dede:arclist} <!--DIG循环体结束--><!--DIG菜单:推荐--></dd><dd><!--DIG循环体开始-->{dede:arclist row=5 titlelen=24 orderby=digg att=5}
  16. <div class="digbox" id="digboxb">  
  17. <div class="diglink" id="digg[field:id/]"><span>[field:digg/]</span> <a class="digvisited" href="javascript:Digg('digg',[field:id/]);"><!--顶一下--></a></div>
  18. <div class="title">[field:textlink/]<span>[field:pubdate function=strftime('%m-%d',@me)/]</span> </div>
  19. <div class="preview">[field:info/]... </div>
  20. </div>
  21. {/dede:arclist} <!--DIG循环体结束--><!--DIG菜单:关注--></dd><dd><!--DIG循环体开始-->{dede:arclist row=5 titlelen=24 orderby=click}
  22. <div class="digbox" id="digboxc">
  23. <div class="diglink" id="digg[field:id/]"><span>[field:digg/]</span> <a class="digvisited" href="javascript:Digg('digg',[field:id/]);"><!--顶一下--></a></div>
  24. <div class="title">[field:textlink/]<span>[field:pubdate function=strftime('%m-%d',@me)/]</span> </div>
  25. <div class="preview">[field:info/]... </div>
  26. </div>
  27. {/dede:arclist} <!--DIG循环体结束--></dd></dl></div>
  28. </div>  
  29. <!--左侧栏结束--><script language="javascript" type="text/javascript">
  30. <!--
  31. //DIGG资讯无刷新切换
  32. pigzmo("digtitle","diglist",3,3000);
  33. -->
  34. </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 文件。。
找到
  1. header("Expires:0");
  2. header("Content-Type: text/html; charset=gb2312");
复制代码

在下面加入

代码如下:

  1. if($action == indexdigg ){
  2. echo '<span>'.$row['digg'].'</span>';
  3. echo "<a class="digvisited" href="javascript:Digg("digg",".$aid.");"></a>";
  4. exit();
  5. }
复制代码


首页模板加入


代码如下:

  1. <!-- Digg 参数 -->
  2. <script language="javascript" src="{dede:global name='cfg_cmspath'/}/include/dedeajax2.js"></script>
  3. <script language="javascript">
  4. function Digg(divId,aid){
  5. var taget_obj = document.getElementById(divId+''+aid);
  6. var myajax = new DedeAjax(taget_obj,false,false,"","","");
  7. myajax.SendGet2("/diggindex.php?action=indexdigg&aid="+aid);
  8. DedeXHTTP = null;
  9. }
  10. </script>
复制代码


实例:

  1. <div class="right"><!-- Digg 参数 -->
  2. <script language="javascript" src="{dede:global name='cfg_cmspath'/}/include/dedeajax2.js"></script>
  3. <script language="javascript">
  4. function Digg(divId,aid){
  5. var taget_obj = document.getElementById(divId+''+aid);
  6. var myajax = new DedeAjax(taget_obj,false,false,"","","");
  7. myajax.SendGet2("/diggindex.php?action=indexdigg&aid="+aid);
  8. DedeXHTTP = null;
  9. }
  10. </script>
  11. <div class="digtitle">DIGG排行</div>
  12. <div class="diglist">
  13. {dede:arclist row=9 titlelen=24 infolen='29' orderby=digg}
  14. <dd>
  15. <div class="diglink" id="digg[field:id/]"><span>[field:digg/]</span> <a class="digvisited" href="javascript:Digg('digg',[field:id/]);"><!--顶一下--></a></div>
  16. <h3>[field:textlink/]</h3>
  17. [field:info/]...
  18. </dd>
  19. {/dede:arclist}
  20. </div>
  21. </div>
复制代码

模板代码:
  1. {dede:tag row='10' sort='month' } <a class="tag" href="[field:link/]">[field:tagname/] </a>{/dede:tag} <script language="javascript">
  2. <!--
  3. var tag_a=document.getElementsByTagName("a");
  4. for( i in tag_a){
  5. var offset=6;
  6. var num=4;
  7. if(tag_a[i].className=="tag"){
  8. var rnd=Math.ceil((num+offset)*Math.random());
  9. if(rnd>offset){
  10. tag_a[i].className="tag"+(rnd-offset);
  11. }
  12. }
  13. }
  14. //-->
  15. </script>
复制代码


CSS代码:
  1. .tag1 { color:#339900;font-weight:bold;}
  2. .tag2 { color:#e65730;}
  3. .tag3 { color:#00b9da;}
  4. .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}

网页部分的代码如下:
  1. <div>
  2. <h2><span>热门标签 <img alt="" src=http://qlzhan.com/a/DEDEcms/20091005/"images_ex/image_v1/ico_arrow_black.gif" /></span></h2>
  3. <ul>{dede:loop table='dede_search_keywords' sort='keyword' row='40' if=''}
  4. <li><a class="tag" href="plus/search.php?keyword=[field:keyword/]">[field:keyword/]</a> {/dede:loop} </li>
  5. </ul>
  6. </div>
  7. <script language="javascript">
  8. <!--
  9. var tag_a=document.getElementsByTagName("a");
  10. for( i in tag_a){
  11. var offset=6;
  12. var num=4;
  13. if(tag_a[i].className=="tag"){
  14. var rnd=Math.ceil((num+offset)*Math.random());
  15. if(rnd>offset){
  16. tag_a[i].className="tag"+(rnd-offset);
  17. }
  18. }
  19. }
  20. //-->
  21. </script>
  22. <div></div>
复制代码

CSS部分的代码如下:
  1. .tag1 { color:#339900;font-weight:bold;}
  2. .tag2 { color:#e65730;}
  3. .tag3 { color:#00b9da;}
  4. .tag4 { color:#FE3981;font-weight:bold;font-size:14px;}
复制代码

使用说明: ◆此彩色关键字代码中有4种颜色的变化,如果想增加更多颜色变化, 只需要修改var num=4;和css部分增加.tag 例如:var num=5; css里增加.tag5{ color:#00b9da;} ,当然,自己也可以修改相应css,改变字体的颜色,大小,字体...等等,自由发挥吧!

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-3-29 21:07 , Processed in 0.048762 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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