星联网络专注帝国CMS二次功能插件开发-精品网站模板站长代码素材

  • 最近更新
  • 模板:33
  • 记录:12641|
  • 插件:52|
  • 工具:4|
  • 代码:8|
  • 评论:0

dedecms织梦文章按年月日进行归档

前言

本文主要讲解《dedecms织梦文章按年月日进行归档》的详细内容

dedecms织梦文章按年月日进行归档效果图:

思路

从文档表中取得年,月,日的归档文档,按年或月或日输出。

前端代码

<divclass="newbody">
<!--代码开始-->
<divclass="head-warp">
<divclass="head">
<divclass="nav-box">
<ul>
<liclass="cur"style="text-align:center;font-size:22px;font-family:'微软雅黑','宋体';">文章归档</li>
</ul>
</div>
</div>
</div>
<divclass="main">
<divclass="history">
{dede:arclist2row=12format=mtime=pubdate}
<divclass="history-date">
<ul>
<h2class="first"><ahref="#nogo">[field:datefunction=MyDate('Y年m月',strtotime(@me))/]</a></h2>
[field:daterunphp="yes"]
global$dsql;
$startTime=strtotime(@me.'-01');
$endTime=strtotime('+1month',$startTime);
$qtypeQuery="WHEREarc.arcrank>=0andarc.pubdatebetween$startTimeAND$endTimeORDERBYarc.iddesclimit10";
$sql="SELECTarc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,
tp.moresite,tp.siteurl,tp.sitepathFROM`blog_archives`arcleftjoin`blog_arctype`tponarc.typeid=tp.id$qtypeQuery";
$dsql->SetQuery($sql);
$dsql->Execute('t');
$result='';
while($row=$dsql->GetArray('t'))
{
$arcurl=GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],$row['arcrank'],
$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']);
if(date("m-d",$row['pubdate'])==date("m-d")){
$pubdate='<fontcolor="#FF0000">'.MyDate('m-d',$row['pubdate']).'</font>';
}
else
{
$pubdate=MyDate('m-d',$row['pubdate']);
}

$description=cn_substr($row['description'],100);
$result.=<<<TPL
<li>
<h3>{$pubdate}</h3>
<dl>
<dt><ahref="{$arcurl}"target="_blank">{$row['title']}</a>
<span>{$description}</span>
</dt>
</dl>
</li>
TPL;
}
@me=$result;
[/field:date]
</ul>
</div>
{/dede:arclist2}

</div>
</div>
</div>


1、\include\taglib\arclist2.lib.php

<?phpif(!defined('DEDEINC'))exit('RequestError!');
/**
*文章归档标签
*
*@packageDedeCMS.Dedediy
*@copyrightCopyright(c)2013-2016
*@linkhttp://www.dedediy.com
*/

functionlib_arclist2(&$ctag,&$refObj)
{
global$dsql;
//属性处理
$attlist="format|y,start|,end|,time|pubdate,row|10";
FillAttsDefault($ctag->CAttribute->Items,$attlist);
extract($ctag->CAttribute->Items,EXTR_SKIP);

$line=empty($row)?10:$row;

$innertext=$ctag->GetInnerText();
if(trim($innertext)=='')$innertext=GetSysTemplets("arclist2.htm");

switch($format){
case'y':
$format2='%Y';
break;
case'm':
$format2='%Y-%m';
break;;
case'd':
$format2='%Y-%m-%d';
break;
default:
$format2='%Y-%m-%d';
}

$ctp=newDedeTagParse();
$ctp->SetNameSpace('field','[',']');

if(!empty($start)){
$qtypeQuery='WHERE'.$time.'>'.strtotime($start);
}
if(!empty($end)){
$qtypeQuery.=$qtypeQuery?'AND'.$time.'<'.strtotime($end):'WHERE'.$time.'<'.strtotime($end);
}

$solvingask='';
$query="selectFROM_UNIXTIME($time,'$format2')ASdate,count(*)AScountFROM`blog_archives`$qtypeQuerygroupbydateorderbydatedesclimit$line";

$dsql->Execute('me',$query);
while($rs=$dsql->GetArray('me'))
{
$ctp->LoadSource($innertext);
if($rs['date']){
$rs['dateurl']='/plus/arcDate.php?time='.$time.'&date='.$rs['date'].'&format='.$format;
foreach($ctp->CTagsas$tagid=>$ctag){
if(!empty($rs[strtolower($ctag->GetName())])){
$ctp->Assign($tagid,$rs[$ctag->GetName()]);
}
}
$solvingask.=$ctp->GetResult();
}
}
return$solvingask;
}

更多归档文件打包

链接:http://pan.baidu.com/s/1jIr4V0i 密码: jy3e


本网刊登的文章均仅代表作者个人观点,并不代表本网立场。文中的论述和观点,敬请读者注意判断。

本文地址:http://www.xlkjgs.com/notes/web/10799.html

以上内容由本站整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

星联网络

星联网络是中国最具实战的互联网创业者的知识服务商,这里有互联网行业动态,网络推广,SEO优化,SEM优化,ESC配置,行业经验分型,互联网项目,微信营销、淘宝客赚钱、新媒体营销、京东运营、跨境电商等众多互联网营销知识分享

站长运营站长必备网站运营之道才能长久发展