找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 408|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2588

主题

2588

帖子

7694

积分

论坛元老

Rank: 8Rank: 8

积分
7694
跳转到指定楼层
楼主
发表于 2018-2-13 20:41:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

比喻站点的最新公告显示位就没有,在网上找了好久,没有发现相关的信息,可能是我没有找到,所以就花了几个小时研究了一下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;
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用户反馈
客户端