DedeCMS列表页获取热搜排行榜文章的方法
有的时候需要在列表页调用搜索最多的文章列表,做一个展示,此时需要做下二次开发。
打开织梦/include/extend.func.php 最后加上以下代码:
//列表页获取网友热搜 24小时
function jjGetHotSearch($tid){
global $dsql;
$time = time() –
86400;
$sql =
“select * from dede_archives where typeid = ‘$tid’ and shorttitle <> ” group by shorttitle order by pubdate desc limit 10″;
$dsql->Execute(
‘me’,$sql);
$li =
”;
while($arr = $dsql->GetArray(
‘me’))
{
if($arr[
‘pubdate’] >$time ){
$class =
‘new’;
}
else{
$class =
”;
}
$barr = GetOneArchive($arr[
‘id’]);
$arcurl = $barr[
‘arcurl’];
$li .=
‘<li><span class=”right”><time class=”‘.$class.
‘”>’.date(
‘Y-m-d’,$arr[
‘pubdate’]).
‘</time></span><a href=”‘.$arcurl.
‘” title=”‘.$arr[
‘shorttitle’].
‘”>’.$arr[
‘shorttitle’].
‘</a></li>’;
}
return $li;
}
//排行榜获取网友热搜 3天
function hot_3_GetHotSearch($tid){
global $dsql;
$time = time() –
86400;
$sql =
“select * from dede_archives where pubdate > UNIX_TIMESTAMP( CURDATE( ) – INTERVAL 3 day) and typeid = ‘$tid’ and shorttitle <> ” group by shorttitle order by click desc limit 10″;
$dsql->Execute(
‘me’,$sql);
$li =
”;
while($arr = $dsql->GetArray(
‘me’))
{
if($arr[
‘pubdate’] >$time ){
$class =
‘new’;
}
else{
$class =
”;
}
$barr = GetOneArchive($arr[
‘id’]);
$arcurl = $barr[
‘arcurl’];
$li .=
‘<li><span class=”right”><time class=”‘.$class.
‘”>’.date(
‘Y-m-d’,$arr[
‘pubdate’]).
‘</time></span><a href=”‘.$arcurl.
‘” title=”‘.$arr[
‘shorttitle’].
‘”>’.$arr[
‘shorttitle’].
‘</a></li>’;
}
return $li;
}
//排行榜获取网友热搜 7天
function hot_7_GetHotSearch($tid){
global $dsql;
$time = time() –
86400;
$sql =
“select * from dede_archives where pubdate > UNIX_TIMESTAMP( CURDATE( ) – INTERVAL 7 day) and typeid = ‘$tid’ and shorttitle <> ” group by shorttitle order by click desc limit 10″;
$dsql->Execute(
‘me’,$sql);
$li =
”;
while($arr = $dsql->GetArray(
‘me’))
{
if($arr[
‘pubdate’] >$time ){
$class =
‘new’;
}
else{
$class =
”;
}
$barr = GetOneArchive($arr[
‘id’]);
$arcurl = $barr[
‘arcurl’];
$li .=
‘<li><span class=”right”><time class=”‘.$class.
‘”>’.date(
‘Y-m-d’,$arr[
‘pubdate’]).
‘</time></span><a href=”‘.$arcurl.
‘” title=”‘.$arr[
‘shorttitle’].
‘”>’.$arr[
‘shorttitle’].
‘</a></li>’;
}
return $li;
}
//排行榜获取网友热搜 30天
function hot_30_GetHotSearch($tid){
global $dsql;
$time = time() –
86400;
$sql =
“select * from dede_archives where pubdate > UNIX_TIMESTAMP( CURDATE( ) – INTERVAL 30 day) and typeid = ‘$tid’ and shorttitle <> ” group by shorttitle order by click desc limit 10″;
$dsql->Execute(
‘me’,$sql);
$li =
”;
while($arr = $dsql->GetArray(
‘me’))
{
if($arr[
‘pubdate’] >$time ){
$class =
‘new’;
}
else{
$class =
”;
}
$barr = GetOneArchive($arr[
‘id’]);
$arcurl = $barr[
‘arcurl’];
$li .=
‘<li><span class=”right”><time class=”‘.$class.
‘”>’.date(
‘Y-m-d’,$arr[
‘pubdate’]).
‘</time></span><a href=”‘.$arcurl.
‘” title=”‘.$arr[
‘shorttitle’].
‘”>’.$arr[
‘shorttitle’].
‘</a></li>’;
}
return $li;
}
//列表页获取栏目关注 30天 14条
function hotword_30_GetHotSearch($tid){
global $dsql;
$time = time() –
86400;
$sql =
“select * from dede_archives where pubdate > UNIX_TIMESTAMP( CURDATE( ) – INTERVAL 90 day) and typeid = ‘$tid’ and shorttitle <> ” group by shorttitle order by click desc limit 14″;
$dsql->Execute(
‘me’,$sql);
$li =
”;
while($arr = $dsql->GetArray(
‘me’))
{
if($arr[
‘pubdate’] >$time ){
$class =
‘new’;
}
else{
$class =
”;
}
$barr = GetOneArchive($arr[
‘id’]);
$arcurl = $barr[
‘arcurl’];
$li .=
‘<a href=”‘.$arcurl.
‘” title=”‘.$arr[
‘shorttitle’].
‘”>’.$arr[
‘shorttitle’].
‘</a>’;
}
return $li;
}
织梦调用方法:
{dede:field.id function=jjGetHotSearch(@me)/}
其他函数调用方法类似。