热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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模板代码结构分析 转载请写名其出处:草根站长联盟 www.54benbenzu.com要奉劝各位新手站长。磨刀不误砍材功。想要学仿站、或者你用别的站你总的要会修改吧,没有什么模板别人做好了你就完全能用,总要修改一些的(官方的除外啊)
  这里拿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 标签范围内主要包括了三类东西
        1:title标签
        2:mete标签  keywords  description等
        3:CSS文件链接。
        大家可以看下 head部分。是不是包括了这几部分。
        至于 那些JS调用都不是必须的。只不过在首页index.htm模板有用到一些特殊的地方需要调用函数才加在head里的。我把代码贴出来了
        
        
        
        
        {dede:global.cfg_webname/}是你的网站名
        {dede:global.cfg_description/}是你的网站描述
        {dede:global.cfg_keywords/} 是你的网站关键字
        你在仿站的时候 这三个值应该都是别人的。要变成自己的 就要用这些标签替换掉
        然后我们再往下看。紧跟着的是 标签。。这里面的内容才是页面正文的开始。
        body里的结构大体如下
        
        {dede:include filename="head.htm"/}
        中间代码
        {dede:include filename="footer.htm"/}
        
        大家这样看  结构就清楚了吧。
        {dede:include filename="head.htm"/}是头部代码  如果你要修改头部代码就去head.htm
        {dede:include filename="footer.htm"/}是尾部代码  同样你要修改就去footer.htm
        其他index_*.htm  list_*.htm  article_*.htm 等几乎所有的模板结构都是这样的。
        现在有个大体的印象了。每个模板主要有两个部分构成
         部分 和   部分
         部分 又由 头部模板  中间模板  和尾部模板。
        在所有模板中  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'}
[field:title/]
{/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'}
[field:title/]
{/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="
  • ~typename~ 
  • "}
  • [field:typename/] 

  • {/dede:channel}
    参数说明:
    typeid = '0' 栏目ID
    reid = '0' 上级栏目ID
    row = '100' 调用栏目数
    col = '1' 分多少列显示(默认为单列)
    type = 'son' son表示下级栏目,self表示同级栏目,top顶级栏目
    currentstyle = '' 应用样式
    6、标签名称:channelartlist
    功能说明:
    获取当前频道的下级栏目的内容列表标签
    使用实例:
    {dede:channelartlist row=6}

    {dede:field name='typename'/}


    {dede:arclist titlelen='42' row='10'}  
  • [field:title /]

  • ([field:pubdate function="MyDate('m-d',@me)"/])


  • {/dede:arclist}

    {/dede:channelartlist}
    参数说明:
    typeid = '0' 频道ID,多个请用","分隔
    row = '20' 获取的栏目返回值
    其他说明:
    除了宏标记外,channelArtlist 是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套
    {dede:type}{/dede:type} 和 {dede:arclist}{/dede:arclist} 两个标记。
    7、标签名称:demotag
    功能说明:
    这仅是一个演示标签
    使用实例:
    {dede:demotag /}
    8、标签名称:feedback
    功能说明:
    调用最新评论
    使用实例:
    {dede:feedback}

      [field:username function="(@me=='guest' ? '游客' : @me)"/] 对 [field:title/] 的评论:
       [field:msg /]

    {/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=''}
    [field:title/]
    {/dede:loop}
    参数说明:
    table = '' 查询表名
    sort = '' 用于排序的字段
    row = '' 返回结果的条数
    if = '' 查询的条件
    15、标签名称:memberinfos
    功能说明:
    文档关连的用户信息
    使用实例:
    {dede:memberinfos /}
    参数说明:
    无属性,支持 innertext
    16、标签名称:memberlist
    功能说明:
    会员信息调用标签
    使用实例:
    {dede:memberlist orderby='scores' row='20'}
    {dede:field.userid /}
    {dede:field.scores /}
    {/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}
    [field:typename/]
    {/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}
    [field:typename /]
    {/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代码来使用

    推荐阅读
    • 本文介绍了Hive常用命令及其用途,包括列出数据表、显示表字段信息、进入数据库、执行select操作、导出数据到csv文件等。同时还涉及了在AndroidManifest.xml中获取meta-data的value值的方法。 ... [详细]
    • REVERT权限切换的操作步骤和注意事项
      本文介绍了在SQL Server中进行REVERT权限切换的操作步骤和注意事项。首先登录到SQL Server,其中包括一个具有很小权限的普通用户和一个系统管理员角色中的成员。然后通过添加Windows登录到SQL Server,并将其添加到AdventureWorks数据库中的用户列表中。最后通过REVERT命令切换权限。在操作过程中需要注意的是,确保登录名和数据库名的正确性,并遵循安全措施,以防止权限泄露和数据损坏。 ... [详细]
    • CSS3选择器的使用方法详解,提高Web开发效率和精准度
      本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
    • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
    • 知识图谱——机器大脑中的知识库
      本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
    • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
    • 高质量SQL书写的30条建议
      本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
    • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
    • 本文详细介绍了使用 SQL Load 和 Excel 的 Concatenate 功能将数据导入 ORACLE 数据库的方法和步骤,同时介绍了使用 PL/SQL tools 将数据导入临时表的方法。此外,还提供了一个转链接,可参考更多相关内容。摘要共计XXX字。 ... [详细]
    • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
    • 本文介绍了使用jQuery实现图片预加载和等比例缩放的方法,同时提供了演示和相关代码。该方法可以重置图片的宽度和高度,并使图片在水平和垂直方向上居中显示。 ... [详细]
    • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
      原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
    • 作者表示自己最近工作非常忙碌,无法抽出时间写作。他计划在未来的几天内写关于namespace与C#的名字解析以及数据库内容转化为excel文件下载的知识。 ... [详细]
    • GSIOpenSSH PAM_USER 安全绕过漏洞
      漏洞名称:GSI-OpenSSHPAM_USER安全绕过漏洞CNNVD编号:CNNVD-201304-097发布时间:2013-04-09 ... [详细]
    • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
    author-avatar
    晓玲建雯东佳
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有