| 
 | 
 
 
比喻站点的最新公告显示位就没有,在网上找了好久,没有发现相关的信息,可能是我没有找到,所以就花了几个小时研究了一下DEDECMS的部分源码,试想,何不自已写呢  
好吧,想法有了,开始形动吧,跟我来,让狼人教你DIY一个自定义的模块.  
在这里我就给大家举一个实例>  
主要有:>,>,>  
好的,我们一个个的来  
一.>首先是在首页显示最新公告  
代码标签是:------------------------------------------------------------------------------  
begin:  
{dede:mynews row='1' titlelen='20'}最新公告:[field:title /][url=]查看详细[/url]{/dede:mynews}  
end;  
===========================================================================================================================  
二.>新建文件show-mynews.php  
代码如下:------------------------------------------------------------------------------  
begin:  
  
  
  
  
  
公告详细  
  
  
  
  
  
SetTemplet($cfg_basedir . $cfg_templets_dir . "/default/head.htm");  
$pv->Display();  
?>  
GetOne("Select * from dede_mynews where aid=$aid");  
if(!is_array($row))  
{  
echo "对不起,没有找到您所查找到的公告信息";  
exit;  
}  
?>  
  
".$row["title"]."";  
echo "".$row["body"]."";  
?>  
  
SetTemplet($cfg_basedir . $cfg_templets_dir . "/default/footer.htm");  
$pv->Display();  
?>  
  
  
end;  
===========================================================================================================================  
三.>改显示所有公告列表,不分页在include\taglib目录下面找到文件(mynews.lib.php)  
代码标签是:------------------------------------------------------------------------------  
begin:  
CAttribute->Items,$attlist);  
extract($ctag->CAttribute->Items, EXTR_SKIP);  
$innertext = trim($ctag->GetInnerText());  
if(empty($row)) $row=1;  
if(empty($titlelen)) $titlelen=30;  
if(empty($innertext)) $innertext = GetSysTemplets('mynews.htm');  
$idsql = '';  
if($envs['typeid'] > 0) $idsql = " where typeid='".GetTopid($this->TypeID)."' ";  
$dsql->SetQuery("Select * from dede_mynews $idsql order by senddate desc limit 0,$row");  
if($row == -1) $dsql->SetQuery("Select * from dede_mynews $idsql order by senddate desc");//狼人(QQ:459094521)加,如果设置为-1,就显示所有文章  
$dsql->Execute();  
$ctp = new DedeTagParse();  
$ctp->SetNameSpace('field','[',']');  
$ctp->LoadSource($innertext);  
$revalue = '';  
while($row = $dsql->GetArray())  
{  
foreach($ctp->CTags as $tagid=>$ctag){  
@$ctp->Assign($tagid,$row[$ctag->GetName()]);  
}  
$revalue .= $ctp->GetResult();  
}  
return $revalue;  
}  
?>  
end;  
在站点根目录新建list-mynews.php里面写代码:  
begin:/*用于调用/default/list-mynews.htm页面的标签来显示*/  
SetTemplet($cfg_basedir . $cfg_templets_dir . "/default/list-mynews.htm");  
$pv->Display();  
?>  
end;  
在templets\default目录下面新建文件list-mynews.htm,并写代码如下:  
begin:  
{dede:mynews row='-1' titlelen='20'} 
  
编号:[field:aid /],[url=show-mynews.php?aid=[field:aid /]]标题:[field:title /][/url],作者:[field:writer /],发布时间:[field:senddate /],内容:[field:body /] 
  
{/dede:mynews}  
end;  
 |   
 
 
 
 |