手把手教你制作织梦自定义公告模板
来源: 阅读:1401 次 日期:2016-07-02 09:52:48
温馨提示: 小编为您整理了“手把手教你制作织梦自定义公告模板”,方便广大网友查阅!

织梦CMS很强大,用过的人惊叹,织梦开发团队产品开源后就已为我们设计了一套模板,看起来还不错,但是用久了就发现很丑,很难看,并且也不是很完善,因此我们就有想自已DIY的想法。

比喻站点的最新公告显示位就没有,在网上找了好久,没有发现相关的信息,可能是我没有找到,所以就花了几个小时研究了一下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();

?>

Baidu
map

end;

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

三.<<公告列表页面>>改显示所有公告列表,不分页<公告本来就不是很多所以这里我们不分页显示列表了>在include\taglib目录下面找到文件(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;

在templets\default目录下面新建文件list-mynews.htm,并写代码如下:

begin:

{dede:mynews row='-1' titlelen='20'}

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

{/dede:mynews}

end;

更多信息请查看 CMS教程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
相关阅读 CMS教程

2026上岸·考公考编培训报班

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
最新信息
公考类
招聘类
各类考试
关于我们| 联系我们| 人才招聘| 网站声明| 网站帮助| 非正式的简要咨询| 简要咨询须知| 新媒体/短视频平台| 手机站点| 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65099533/13759567129 获取招聘考试信息及咨询关注公众号:
咨询QQ:1093837350(9:00—18:00) 版权所有:
云南网警报警专用图标
Baidu
map