比喻站点的最新公告显示位就没有,在网上找了好久,没有发现相关的信息,可能是我没有找到,所以就花了几个小时研究了一下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\taglib目录下面找到文件(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;
在templets\default目录下面新建文件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;
手把手教你制作织梦自定义公告模板
2019-09-28 13:59DEDECMS建站网 DEDECMS
织梦CMS很强大,用过的人惊叹,织梦开发团队产品开源后就已为我们设计了一套模板,看起来还不错,但是用久了就发现很丑,很难看,并且也不是很完善,因此我们就有想自已DIY的想法。
延伸 · 阅读
- 2021-04-26织梦dedecms文章列表页随机放入广告的方法
- 2021-03-02织梦DEDECMS发布完文章没有显示文章内容解决办法
- 2021-01-22织梦DEDECMS有缩略图显示,没有显示随机指定图片的
- 2020-11-15织梦sitemap地图实时推送给百度的教程
- 2020-11-06织梦DedeCMS官方关于正版版本号的严正声明
- 2020-11-03织梦DEDECMS V6安装后报错打不开的处理方法
- DEDECMS
织梦如何让channelartlist标签支持limit属性
这篇文章主要介绍了织梦如何让channelartlist标签支持limit属性的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看...
- DEDECMS
dedecms 5.6 5.7发布文章空白问题解决方法
最近弄了几个站,使用的是DEDECMS 5.6 和 DEDECMS 5.7 ,在后台添加文章的时候,经常出现白屏的情况,到官方咨询后无人解答,出于无奈,只好自己研究一下...
- DEDECMS
dede5.7 动态导航下拉菜单的实现代码
dede5.7 动态导航下拉菜单的实现代码,需要的朋友可以参考一下...
- DEDECMS
dedecms 栏目列表分页链接优化
DEDE默认栏目列表分页链接,这种链接方式其实并不十分合理. ...
- DEDECMS
织梦dedecms 去掉后台登陆验证码的方法
大家好,今天给大家讲解下织梦技巧的织梦去掉后台登陆验证码,大家在使用织梦程序的时候会登陆后台,会发现每次登陆后台都要输入验证码 ...
- DEDECMS
还原dedecms数据后系统基本参数空白的解决方法
这篇文章主要为大家介绍了还原dedecms数据后系统基本参数空白的解决方法,是采用dedecms建站与维护过程中经常会遇到的问题,涉及针对数据库还原操作的技巧...
- DEDECMS
dedecms织梦实现中英文分页功能方法步骤
相信每位曾经的织梦新手,都会碰到以下的几个问题,第一个就是织梦的留言板功能外观上不大适合企业网站,第二个就是做英文版的时候,分页同样实现...
- DEDECMS
DedeCMS中function='Html2Text(@me)的用法分析
这篇文章主要为大家介绍了DedeCMS中function='Html2Text(@me)的用法,分析了在首页、列表页及文档内容页过滤html代码的方法,需要的朋友可以参考下...