欢迎来到站长天空!

DedeCMS

当前位置: 主页 > CMS教程 > DedeCMS

手把手教你制作织梦自定义公告模板

时间:2020-11-05 00:00:00|栏目:DedeCMS|点击:

">比喻站点的最新公告显示位就没有,在网上找了好久,没有发现相关的信息,可能是我没有找到,所以就花了几个小时研究了一下DEDECMS的部分源码,试想,何不自已写呢

好吧,想法有了,开始形动吧,跟我来,让狼人教你DIY一个自定义的模块.

在这里我就给大家举一个实例<<站点公告信息的模板>>

主要有:<<首页显示最新公告>>,<<公告详细显示页面>>,<<公告列表页面>>

好的,我们一个个的来


一.<<首页显示最新公告>>首先是在首页显示最新公告<在index.htm页面添加代码>
代码标签是:------------------------------------------------------------------------------

begin:

{dede:mynews row='1' titlelen='20'}最新公告:[field:title /]查看详细

{/dede:mynews}

end;

===========================================================================================================================


二.<<公告详细显示页面>>新建文件show-mynews.php
代码如下:------------------------------------------------------------------------------

begin:

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/head.htm");
$pv->Display();
?>

if (! is_numeric($aid))
{
echo "浏览页面参数不正确";
exit;
}
global $dsql;
$row = $dsql->GetOne("Select * from dede_mynews where aid=$aid");
if(!is_array($row))
{
echo "对不起,没有找到您所查找到的公告信息";
exit;
}
?>


echo "

".$row["title"]."

";
echo "
".$row["body"]."
";
?>


$pv = new PartView();
$pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/default/footer.htm");
$pv->Display();
?>



end;

===========================================================================================================================


三.<<公告列表页面>>改显示所有公告列表,不分页<公告本来就不是很多所以这里我们不分页显示列表了>在includetaglib目录下面找到文件(mynews.lib.php)
代码标签是:------------------------------------------------------------------------------

begin:

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页面的标签来显示*/

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'}

编号:[field:aid /],标题:[field:title /],作者:[field:writer /],发布时间:[field:senddate /],内容:[field:body /]

{/dede:mynews}

end;

上一篇:织梦dedecms 忘记管理员后台密码的解决技巧

栏    目:DedeCMS

下一篇:dedecms 栏目列表分页链接优化

本文标题:手把手教你制作织梦自定义公告模板

本文地址:https://zz.feitang.co/CMSjiaocheng/27133.html

更多DedeCMS

您可能感兴趣的文章

阅读排行

推荐教程

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2026 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号