DEDE热门关键字如何调用?
DEDE中热门tag,DEDE首页digg,DEDE随机热门关键字调用方法,需要的朋友可以参考下
推荐学习:织梦cms
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'}[field:highlight/]([field:result/]) {/dede:tag}
当月热门标签 {dede:tag row='30' sort='month'}[field:tagname/]([field:result/]) {/dede:tag}
随机标签 {dede:tag row='60' sort='rand'}[field:highlight/]([field:result/]) {/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,改变字体的颜色,大小,字体...等等,自由发挥吧!
Atas ialah kandungan terperinci DEDE热门关键字如何调用. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!