DEDE仿站教程

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

很多人只知道要教程,要这要那的,连基本的程序结构、模板文件都不熟悉。

即使下了别人的模板也不会修改,还硬说是别人的模板有问题。

在这里很多人只知道要教程,要这要那的,连基本的程序结构、模板文件都不熟悉。

即使下了别人的模板也不会修改,还硬说是别人的模板有问题。

在这里要奉劝各位新手站长。

磨刀不误砍材功。

想要学仿站、或者你用别的站你总的要会修改吧,没有什么模板别人做好了你就完全能用,总要修改一些的(官方的除外啊)
这里拿5.3来做参考。

请对号入坐。

开始前请先下载安装DEDECMSV5.3的最新版本。

先来说下DEDE的目录结构,看下那些文件夹都是放的什么东东
/dede 这个是后台管理的目录。

/date 这是一些系统数据。

系统配置文件就在此目录下。

/html 官方默认的生成HTML目录。

当然你也可以不用。

另外设置成其他目录。

我些新手总喜欢改这里的文件。

老有人问我。

怎么修改了模板怎么生成了一下都还原了呢。

哪知道修改的不是模板呢。

/member 会员文件夹。

包括注册登陆个人空间控制面板等其模板在其目录下的templets文件夹下
一般比较常修改的几个模板解释下
head.htm 这是会员后台的头部
foot.htm 这是会员后台的尾部
index.htm 这是会员后台的首页
login.htm 登陆模板
reg-new.htm 注册模板
/special 这是专题目录。

包含生成好的专题列表页和专题内容页
/plus 插件目录
/include 系统函数文件
/uploads 上传文件目录
/templets 模板文件目录。

这个是重点。

现在我来把里面的文件来解释下。

让你心里明白。

在这里只说templets下的两个目录default和style
/templets/style 该文件夹下包含所有的CSS文件。

大名鼎鼎的dedecms.css 就在此文件夹下。

/templets/default 该文件夹下包含所有的前台模板。

head.htm 头部模板
footer.htm 尾部模板
index.htm 首模板
index_*.htm 频道封面模板
list_*.htm 频道列表页模板
article_*.htm 内容页模板
search.htm 搜索页模板
singlepage.htm 单页模板
tag.htm 标签页模板
taglist.htm 标签列表页模板
看看。

上面这些是不是基本都包括了所有常用的页面。

如果你把这些文件都熟悉都搞懂了。

仿站那还不是小菜一叠啊。

用DW打开这些模板看下吧,特别留意标签哦,对照着前台来看。

什么样的标签对应什么样的效果,你就会明白。

以后怎么在仿站的时候再调用了。

也不必要都记住。

知道在哪里就行。

真要用。

可以马上找到。

目录结构基本上说完了。

对了说下。

我是准备系统的先讲一遍流程。

然后最终会出个视频教程配合。

这样大家会比较好懂。

把这一系列的文章看下去算是学习基础知识。

视频则是我演示实战。

我会选一个站出来仿。

由于时间有限,我会每天写一篇出来。

至于总工有多少篇,我也不清楚。

反正讲完为止。

明天继续讲DEDECMS模板代码结构分析转载请写名其出处:草根站长联盟
要奉劝各位新手站长。

磨刀不误砍材功。

想要学仿站、或者你用别的站你总的要会修改吧,没有什么模板别人做好了你就完全能用,总要修改一些的(官方的除外啊)
这里拿5.3来做参考。

请对号入坐。

开始前请先下载安装DEDECMSV5.3的最新版本。

先来说下DEDE的目录结构,看下那些文件夹都是放的什么东东
/dede 这个是后台管理的目录。

/date 这是一些系统数据。

系统配置文件就在此目录下。

/html 官方默认的生成HTML目录。

当然你也可以不用。

另外设置成其他目录。

我些新手总喜欢改这里的文件。

老有人问我。

怎么修改了模板怎么生成了一下都还原了呢。

哪知道修改的不是模板呢。

/member 会员文件夹。

包括注册登陆个人空间控制面板等其模板在其目录下的templets文件夹下
一般比较常修改的几个模板解释下
head.htm 这是会员后台的头部
foot.htm 这是会员后台的尾部
index.htm 这是会员后台的首页
login.htm 登陆模板
reg-new.htm 注册模板
/special 这是专题目录。

包含生成好的专题列表页和专题内容页
/plus 插件目录
/include 系统函数文件
/uploads 上传文件目录
/templets 模板文件目录。

这个是重点。

现在我来把里面的文件来解释下。

让你心里明白。

在这里只说templets下的两个目录default和style
/templets/style 该文件夹下包含所有的CSS文件。

大名鼎鼎的dedecms.css 就在此文件夹下。

/templets/default 该文件夹下包含所有的前台模板。

head.htm 头部模板
footer.htm 尾部模板
index.htm 首模板
index_*.htm 频道封面模板
list_*.htm 频道列表页模板
article_*.htm 内容页模板
search.htm 搜索页模板
singlepage.htm 单页模板
tag.htm 标签页模板
taglist.htm 标签列表页模板
看看。

上面这些是不是基本都包括了所有常用的页面。

如果你把这些文件都熟悉都搞懂了。

仿站那还不是小菜一叠啊。

用DW打开这些模板看下吧,特别留意标签哦,对照着前台来看。

什么样的标签对应什么样的效果,你就会明白。

以后怎么在仿站的时候再调用了。

也不必要都记住。

知道在哪里就行。

真要用。

可以马上找到。

目录结构基本上说完了。

对了说下。

我是准备系统的先讲一遍流程。

然后最终会出个视频教程配合。

这样大家会比较好懂。

把这一系列的文章看下去算是学习基础知识。

视频则是我演示实战。

我会选一个站出来仿。

由于时间有限,我会每天写一篇出来。

至于总工有多少篇,我也不清楚。

反正讲完为止。

在上一节,我们了解了DEDECMS的程序目录结构和相关模板的含义,通过第一节,我们对DEDE的模板有了一个初步的认识。

在这一节,我将引导大家来分析和了解DEDE模板文件的代码结构。

准备工作:
1:安装好DW,如果实在不想安装也行。

用记事本也可以。

不过用DW可以把结构看的很清楚。

在记事本里看会把你搞迷糊的
2:你安装了DEDECMS。

并进入/templets/default(默认模板目录)目录。

OK!Let's GO!
用DW打开文件index.htm
如果你不熟悉HTML和CSS 建议去补习下。

在这里就不系统讲这些额外的东西了。

在这里假设你看的懂HTML和CSS代码,会不会写姑且不管。

先来看下<head></head>部分。

head上面的一般不管。

在head 标签范围内主要包括了三类东西
1:title标签
2:mete标签keywords description等
3:CSS文件链接。

大家可以看下head部分。

是不是包括了这几部分。

至于那些JS调用都不是必须的。

只不过在首页index.htm模板有用到一些特殊的地方需要调用函数才加在head里的。

我把代码贴出来了
<title>{dede:global.cfg_webname/}</title>
<meta name="description" content="{dede:global.cfg_description/}" />
<meta name="keywords" content="{dede:global.cfg_keywords/}" />
<link href="{dede:global.cfg_templeturl/}/style/dedecms.css" rel="stylesheet" media="screen" type="text/css" />
{dede:global.cfg_webname/}是你的网站名
{dede:global.cfg_description/}是你的网站描述
{dede:global.cfg_keywords/} 是你的网站关键字
你在仿站的时候这三个值应该都是别人的。

要变成自己的就要用这些标签替换掉
然后我们再往下看。

紧跟着的是<body></body> 标签。

这里面的内容才是页面正文的开始。

body里的结构大体如下
<body class="index">
{dede:include filename="head.htm"/}
中间代码
{dede:include filename="footer.htm"/}
</body>
大家这样看结构就清楚了吧。

{dede:include filename="head.htm"/}是头部代码如果你要修改头部代码就去head.htm
{dede:include filename="footer.htm"/}是尾部代码同样你要修改就去footer.htm 其他index_*.htm list_*.htm article_*.htm 等几乎所有的模板结构都是这样的。

现在有个大体的印象了。

每个模板主要有两个部分构成
<head></head> 部分和<body></body> 部分
<body></body> 部分又由头部模板中间模板和尾部模板。

在所有模板中head.htm 和footer.htm 是其他模板的公共模板。

都要调用到它们。

所以当制作模板的时候,最好把头部和尾部设计成这样。

可以和系统同步。

OK。

是不是也很简单。

下一节就讲DEDECMS的标签使用。

面对这些标签的使用做一个简单的介绍:
1、标签名称:adminname
功能说明:
获得责任编辑名称
使用实例:
{dede:adminname /}
2、标签名称:arclist
功能说明:
文章列表调用标记
使用实例:
{dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen=''
imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'}
<a href='[field:arcurl/]'>[field:title/]</a>
{/dede:arclist}
参数说明:
col='' 分多少列显示(默认为单列),5.3版中本属性无效,要多列显示的可用div+css实现
row='10' 返回文档列表总数
typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目;
titlelen = '30' 标题长度等同于titlelength
infolen='160' 表示内容简介长度等同于infolength
imgwidth='120' 缩略图宽度
imgheight='90' 缩略图高度
listtype='all' 栏目类型(顶级栏目??)
orderby='sortrank' 文档排序方式
§ orderby='hot' 或orderby='click' 表示按点击数排列
§ orderby='sortrank' 或orderby='pubdate' 按出版时间排列
§ orderby='near'
§ orderby=='lastpost' 按最后评论时间
§ orderby=='scores' 按得分排序
§ orderby='id' 按文章ID排序
§ orderby='rand' 随机获得指定条件的文档列表
keyword='' 含有指定关键字的文档列表,多个关键字用","分
innertext = '' 单条记录样式
aid='' 指定文档ID
idlist ='' 提取特定文档(文档ID)
channelid 频道ID
limit='' 起始,结束表示限定的记录范围(如:limit='1,2')
flag = 'h' 自定义属性值:头条[h]推荐[c]图片[p]幻灯[f]滚动[s]跳转[j]图文[a]加粗noflag = '' 同flag,但这里是表示不包含这些属性
orderway='desc' 值为desc 或asc ,指定排序方式是降序还是顺向排序,默认为降序subday='天数' 表示在多少天以内的文档
3、标签名称:arclistsg
功能说明:
单表模型的文章列表调用标记
使用实例:
{dede:arclistsg flag='h' typeid='' row='' col='' titlelen='' orderway='' keyword='' limit='0,1'}
<a href='[field:arcurl/]'>[field:title/]</a>
{/dede:arclistsg}
参数说明:
col='' 分多少列显示(默认为单列),5.3版中本属性无效,要多列显示的可用div+css实现
row='10' 返回文档列表总数
typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目;
titlelen = '30' 标题长度等同于titlelength
orderwey='desc'或'asc' 排序方向
keyword= 含有指定关键字的文档列表,多个关键字用","分
innertext = "[field:title/]" 单条记录样式(innertext是放在标签之间的代码)
arcid='' 指定文档ID
idlist ='' 提取特定文档(文档ID)
channelid = '' 频道ID
limit='' 起始,结束表示限定的记录范围(如:limit='1,2')
flag = 'h' 自定义属性值:头条[h]推荐[c]图片[p]幻灯[f]滚动[s]跳转[j]图文[a]加粗
subday='天数' 表示在多少天以内的文档
4、标签名称:autochannel
功能说明:
按排序位置的获取单个栏目的链接信息
使用实例:
{dede:autochannel partsort='' typeid=''}{/dede:autochannel}
参数说明:
partsort = '0' 栏目所在的排序位置
typeid = '0' 指定的父栏目
5、标签名称:channel
功能说明:
获取栏目列表标签
使用实例:
{dede:channel type='top' row='8' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a> </li>"}
<li><a href='[field:typelink/]'>[field:typename/]</a> </li>
{/dede:channel}
参数说明:
typeid = '0' 栏目ID
reid = '0' 上级栏目ID
row = '100' 调用栏目数
col = '1' 分多少列显示(默认为单列)
type = 'son' son表示下级栏目,self表示同级栏目,top顶级栏目
currentstyle = '' 应用样式
6、标签名称:channelartlist
功能说明:
获取当前频道的下级栏目的内容列表标签
使用实例:
{dede:channelartlist row=6}
<dl>
<dt><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></dt>
<dd>
{dede:arclist titlelen='42' row='10'} <ul class='autod'>
<li><a href="[field:arcurl /]">[field:title /]</a></li>
<li>([field:pubdate function="MyDate('m-d',@me)"/])</li>
</ul>
{/dede:arclist}
</dl>
{/dede:channelartlist}
参数说明:
typeid = '0' 频道ID,多个请用","分隔
row = '20' 获取的栏目返回值
其他说明:
除了宏标记外,channelArtlist 是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套{dede:type}{/dede:type} 和{dede:arclist}{/dede:arclist} 两个标记。

7、标签名称:demotag
功能说明:
这仅是一个演示标签
使用实例:
{dede:demotag /}
8、标签名称:feedback
功能说明:
调用最新评论
使用实例:
{dede:feedback}
<ul>
<li class='fbtitle'>[field:username function="(@me=='guest' ? '游客' : @me)"/] 对[field:title/] 的评论:</li>
<li class='fbmsg'> <a href="plus/feedback.php?aid=[field:aid/]" class='fbmsg'>[field:msg /]</a></li>
</ul>
{/dede:feedback}
参数说明:
row='12' 调用评论条数
titlelen='24' 标题长度
infolen='100' 评论长度
9、标签名称:flink
功能说明:
友情链接
使用实例:
{dede:flink row='24'/}
参数说明:
type='image' 或textall,图片链接,text文字链接;
row='24' 链接数量
titlelen='24' 站点文字的长度linktype='1' 链接位置(首页,内页) typeid='0' 所有类型
10、标签名称:hotwords
功能说明:
获取网站搜索的热门关键字
使用实例:
{dede:hotwords /}
参数说明:
num='6' 关键词数目
subday='365' 天数
maxlength='16' 关键词最大长度11、标签名称:infoguide
功能说明:
分类信息的地区与小分类搜索
使用实例:
{dede:infoguide /}
12、标签名称:likepage
功能说明:
单页文档相同标识调用标签
使用实例:
{dede:likepage likeid='' row=''/}
参数说明:
row = '' 调用条数
likeid = '' 标识名
13、标签名称:likesgpage
功能说明:
单页文档调用标签
使用实例:
{dede:likespage row=''/}
参数说明:
row = '' 调用条数
14、标签名称:loop
功能说明:
调用任意表的数据标签
使用实例:
{dede:loop table='dede_archives' sort='' row='4' if=''} <a href='[field:arcurl/]'>[field:title/]</a>
{/dede:loop}
参数说明:
table = '' 查询表名
sort = '' 用于排序的字段
row = '' 返回结果的条数
if = '' 查询的条件
15、标签名称:memberinfos
功能说明:
文档关连的用户信息
使用实例:
{dede:memberinfos /}
参数说明:
无属性,支持innertext
16、标签名称:memberlist
功能说明:
会员信息调用标签
使用实例:
{dede:memberlist orderby='scores' row='20'}
<a href="../member/index.php?uid={dede:erid /}">{dede:erid /}</a> <span>{dede:field.scores /}</span>
{/dede:memberlist}
参数说明:
orderby = 'scores' 按积分排序
row = '6' 调用数目
17、标签名称:myad
功能说明:
广告调用
使用实例:
{dede:myad name=''/}
参数说明:
typeid='0' 投放范围,0为全站name='' 广告标识
18、标签名称:mynews
功能说明:
站内新闻调用标签
使用实例:
{dede:mynews row='' titlelen=''/} 参数说明:
row='1' 调用站内新闻数
titlelen='24' 新闻标题长度
19、标签名称:mytag
功能说明:
自定义宏标记调用标签
使用实例:
{dede:mytag typeid='0' name=''/} 参数说明:
typeid = '0' 栏目ID 0为全站栏目name = '' 标记名
20、标签名称:softmsg
功能说明:
下载说明标签
使用实例:
{dede:softmsg /}
21、标签名称:sonchannel
功能说明:
子栏目调用标签
使用实例:
{dede:sonchannel}
<a href='[field:typeurl/]'>[field:typename/]</a> {/dede:sonchannel}
参数说明:
row ='100' 返回数目
col = '1' 默认单列显示
22、标签名称:sql
功能说明:
SQL标签
使用实例:
{dede:sql sql=''}
[field:title/]
{/dede}
参数说明:
sql='' 完整的SQL语句
23、标签名称:tag
功能说明:
TAG调用标签
使用实例:
{dede:tag row='30' sort='new'/}
参数说明:
row='30' 调用条数
sort='new' 排序方式month,rand,week
24、标签名称:type
功能说明:
指定的单个栏目的链接标签
使用实例:
{dede:type}
<a href="[field:typelink /]">[field:typename /]</a>
{/dede:type}
参数说明:
typeid='' 指定栏目ID
25、标签名称:vote
功能说明:
投票标签
使用实例:
{dede:vote id='' lineheight='22' tablewidth='100%' titlebgcolor='#EDEDE2' titlebackground='' tablebgcolor='#FFFFFF'/}
参数说明:
id='' 数字,当前投票ID
lineheight='24' 表格高度
tablewidth='100%' 表格宽度
titlebgcolor='#EDEDE2' 投票标题背景色
titlebackground=''
tablebg ='' 投票表格背景色
为了更方便修改样式,建议在后台->辅助插件->投票管理,直接复制生成的HTML代码来使用。

相关文档
最新文档