站长之家 - 站长资讯 - 易采站长站

当前位置: > 建站教程 > 源码教程 > CMS 教程 >

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

2019-10-03 12:13 | 来源:易采站长站 | 编辑:admin |

点评:织梦CMS很强大,用过的人惊叹,织梦开发团队产品开源后就已为我们设计了一套模板,看起来还不错,但是用久了就发现很丑,很难看,并且也不是很完善,因此我们就有想自已DIY的想法。     比喻站点的最新公告显示位就没有,在网上找了好久,没有发现相关的信息,可能是我没有找到,所以就花了几个小时研究了一下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; 

软件名称:
DedeCms (织梦CMS)内容管理系统下载
软件语言:
简体/繁体中文
软件授权:
个人免费

  • 织梦DEDECMS 计划任务使用教程-DedeCms教程
  • 织梦百度结构化数据地图提交插件常见问题及解决方案-DedeCms教程
  • 织梦DedeCMS5.7图集加水印解决方法-DedeCms教程
  • 织梦DEDECMS微信插件如何跳转到DEDECMS自带手机端-DedeCms教程
  • 织梦DEDECMS实现留言板调用模板头部及底部的方法-DedeCms教程
  • 如何使用织梦tag列表调用自定义字段附加字段?-DedeCms教程
  • 修改织梦dedecms后台默认admin账号的方法-DedeCms教程
  • 批量删除织梦dedecms文档搜索关键词的方法-DedeCms教程
  • 织梦dedecms将列表页重复的第一页去除的方法-DedeCms教程
  • 织梦dedecms自定义表单选项必填修改解决方法-DedeCms教程
  • 网友评论

    关于我们 - 联系我们 - 广告服务 - 版权声明 - 人才招聘 - 友情链接 - 网站地图 - 帮助 - -

    CopyRight © 2010-2016 源码下载 easck.com , All Rights Reserved

    蒙公网安备 15052402000103号

    蒙ICP备14002389-1号