比喻站点的最新公告显示位就没有,在网上找了好久,没有发现相关的信息,可能是我没有找到,所以就花了几个小时研究了一下Dedecms的部分源码,试想,何不自已写呢
好吧,想法有了,开始形动吧,跟我来,让狼人教你DIY一个自定义的模块.
在这里我就给大家举一个实例<<站点公告信息的模板>>
主要有:<<首页显示最新公告>>,<<公告详细显示页面>>,<<公告列表页面>>
好的,我们一个个的来
一.<<首页显示最新公告>>首先是在首页显示最新公告<在index.htm页面添加代码>
代码标签是:------------------------------------------------------------------------------
begin:
{dede:Mynews row='1' Titlelen='20'}最新公告:[fIEld:Title /]<a href="show-Mynews.PHP?aID=[fIEld:aID /]">查看详细</a></div>{/dede:Mynews}
end;
二.<<公告详细显示页面>>新建文件show-Mynews.PHP
代码如下:
begin:
<?PHP
require_once (dirname(__file__) . "/include/common.inc.PHP");
require_once DEDEINC."/arc.partvIEw.class.PHP";
?>
<!DOCTYPE HTML PUBliC "-//W3C//DTD xhtml 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-Transitional.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml">
<head>
<Meta http-equiv="Content-Type" content="text/HTML; charset=gb2312" />
<Title>公告详细</Title>
<link href="/templets/style/Dedecms.CSS" rel="stylesheet" media="screen" type="text/CSS" />
<script language="JavaScript" type="text/JavaScript" src="/include/dedeAJAX2.Js"></script>
<script src="/Js/jquery-1.2.6.min.Js" language="JavaScript" type="text/JavaScript"></script>
</head>
<body>
<?PHP
$pv = new PartVIEw();
$pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/default/head.htm");
$pv->display();
?>
<?PHP
if (! is_numeric($aID))
{
echo "浏览页面参数不正确";
exit;
}
global $dsql;
$row = $dsql->Getone("Select * from dede_Mynews where aID=$aID");
if(!is_array($row))
{
echo "对不起,没有找到您所查找到的公告信息";
exit;
}
?>
<div class="w960 center" style="border:#ccc 1px solID;margin-top:5px;">
<?PHP
echo "<h1 style='text-align:center;margin-top:20px;Font-size:20px;border-bottom:#ccc 1px solID;'>".$row["Title"]."</h1>";
echo "<div style='padding:8px;'>".$row["body"]."</div>";
?>
</div>
<?PHP
$pv = new PartVIEw();
$pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/default/footer.htm");
$pv->display();
?>
</body>
</HTML>
end;
三.<<公告列表页面>>改显示所有公告列表,不分页<公告本来就不是很多所以这里我们不分页显示列表了>在include aglib目录下面找到文件(Mynews.lib.PHP)
代码标签是:------------------------------------------------------------------------------
begin:
<?PHP
function lib_Mynews(&$ctag,&$refObj)
{
global $dsql,$envs;
//属性处理
$attList="row|1,Titlelen|24";
FillAttsDefault($ctag->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页面的标签来显示*/
<?PHP
require_once (dirname(__file__) . "/include/common.inc.PHP");
require_once DEDEINC."/arc.partvIEw.class.PHP";
$pv = new PartVIEw();
$pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/default/List-Mynews.htm");
$pv->display();
?>
end;
在templetsdefault目录下面新建文件List-Mynews.htm,并写代码如下:
begin:
{dede:Mynews row='-1' Titlelen='20'}<br/>
编号:[fIEld:aID /],<a href='show-Mynews.PHP?aID=[fIEld:aID /]'>标题:[fIEld:Title /]</a>,作者:[fIEld:writer /],发布时间:[fIEld:senddate /],内容:[fIEld:body /]<br/>
{/dede:Mynews}
end; 总结
以上是内存溢出为你收集整理的手把手教你制作DedeCMS自定义公告模板全部内容,希望文章能够帮你解决手把手教你制作DedeCMS自定义公告模板所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)