自己设计的风格网站 怎么做成DEDECMS的模板?
因为模板制作者的制作习惯不同, DedeCMS 的模板安装方法也大不相同,不过主要的步骤是: 1 上传 将模板文件上传到网站的模板目录 templets 中; 2 设置 主要设置是在系统后台的系统设置中,有一个模板默认风格的选项,填入您的模板目录名称; 3 修改 一
在站长这个圈子里,dedecms 是大家都比较熟识的一个网站程序,dedecms以功能强大和seo友好受到众多站长的青睐。新手站长用这个程序搭建一个站也是很容易的事,但是看着别的网站那么精美的页面,又看看自己使用的默认模板,总有些怅然若失的感觉。其实对于一个新手站长来讲,你也可以通过自己的努力去仿制这个网页作为自己的模板。
理论上对于任何一个网页,dedecms是都可以仿制的,只是复杂程度不同,这里讲的复杂程度其实只是些重复的工作。新手站长只要细心去做,发现并不会太困难,当然一定的知识储备还是需要的。事实上,太多的新手站长是被自己给吓倒了,一说到仿制网页模板,马上就会摇头说我不懂php,不懂css我怎么去仿呀。其实仿站对这个几乎没有要求的,只要我们能看懂html,并且知道dedecms程序是怎么对标签调用的,就可以开始制作了。在制作的过程中,你可能会遇到这样或者那样的问题,这个时候你可是要用好“百度”的,要记住他永远是你最好的老师。
前面讲到dedecms对标签的调用,网上的教程有很多,我们也可以查看帮助文件。也许一下子看到那么多的标签,好多新手站长的头都大了。其实,在我们仿制模板的过程中,真正能用的就那么几个而已,比如:{dede:arclist}获取指定文章列表标签、{dede:channel}获取栏目列表页等。我们只要把常用的几个搞明白了,就可以动手了。每个标签里还会出现一些属性,如这一句调用:{dede:arclist row=’6’},其中的”row”就是标签的一个属性,就是调用多少篇文章的意思,而后面的”6”就是这个属性的值,就是本次调用6篇文章。属性基本上是见名而知义的。
千万不要等到把所有的标签都搞得滚瓜烂熟再动手去仿制,这种上手的方法不是说不好,而是太慢了。最快的学习过程就是动手去做,做的过程中你会遇到各种问题,而通过努力不断的解决掉问题的过程,就是你最好、最实效的学习过程。你第一次仿制模板时可能要用5天,当你第二次的时候也许只要3天,这样连续找几个不太复杂的站进行仿制练习,你会感慨“原来仿站不过如此而已”。
仿制模板最快速上手的方法是对比着仿。对比着仿就是对比着dedecms的默认模板来仿,比如我们要仿制的网站首页的title/title之间显示的是这个网站的标题,而默认模板里在这对标签之间是{dede:globalcfg_webname/},我们只要把这个标签内容复制过去,把原来的内容覆盖掉就可以了,甚至不用知道这个标签是什么意思。只要是功能相同的地方我们都可以采用这种只动鼠标就可以解决的方法。
仿制模板最应该关注的是两个问题:其一是素材路径的问题,我们下载的网页路径都是正常的,但当我们把网页放入我们网站目录时可能会产生调用异常,因为路径的改变可能导致无法读取到一些样式和素材。这个时候我们就要对路径进行修改,建议使用以网站根目录为起始路径的绝对路径,即形如”/templets/default/style/dedecmscss”这样的路径;其二是编码问题,一定要做到仿制好的模板的编码和你所安装的dedecms的编码一致,要不然,生成的网页是一片乱码。解决这个问题使用编码转换软件或者一些工具网站提供编码转换工具就可以了。
仿制网页模板不像我们相像中那么难,只要花点时间学习一下,很容易上手的,关键是思想上不能被吓倒。仿制网页模板不是太大的技术活,很多时候更像是体力活。一般情况投入10天的时间,就会让你以后的模板无忧的。
做模版文件只需要修改以下几个文件就可以了
indexhtm、list_articlehtm、article_articlehtm文件
修改好后,把templets--->default中的文件覆盖掉就可以了
Arclist 标记
这个标记是DedeCms最常用的一个标记,也叫自由列表标记,其中 hotart、coolart、likeart、artlist、imglist、imginfolist、specart、autolist 这些标记都是由这个标记所定义的不同属性延伸出来的别名标记。
功能说明:获取指定的文档列表
适用范围:封面模板、列表模板、文档模板
基本语法:{dede:arclist typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword=''}底层模板(InnerText){/dede:arclist}
属性说明:[1] typeid='' 表示栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目;[2] row='' 表示返回文档列表总数;[3] col='' 表示分多少列显示(默认为单列);[4] titlelen='' 表示标题长度;[5] infolen='' 表示内容简介长度;[6] imgwidth='' 表示缩略图宽度;[7] imgheight='' 表示缩略图高度;[8] type='' 表示档案类型,其中空值、不使用这个属性或type='all'时为普通文档§ type='commend'时,表示推荐文档,等同于 {dede:coolart}{/dede:coolart}§ type='image'时,表示必须含有缩略的文档,等同于{dede:imglist}{/dede:imglist}、{dede:imginfolist}{/dede:imginfolist}§ type='spec'时,表示专题,等同于标记{dede:specart}{/dede:specart}以上属性值可以联合使用,如: type='commend image' 表示推荐的文档[9] orderby='' 表示排序方式,默认值是 senddate 按发布时间排列。 § orderby='hot' 或 orderby='click' 表示按点击数排列§ orderby='pubdate' 按出版时间排列(即是前台允许更改的时间值)§ orderby='sortrank' 按文章的新排序级别排序(如果你想使用置顶文章则使用这个属性)§ orderby='id' 按文章ID排序§ orderby='postnum' 按文章评论次数排序§ orderby='rand' 随机获得指定条件的文档列表[10] orderway='' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序。[11] keyword='' 表示含有指定关键字的文档列表,多个关键字用","分开[12] channelid='' 表示特定的频道模型ID,内置的频道:专题(-1)、文章(1)、图集(2)、Flash(4)、软件(3)[13] limit='起始,结束' 表示限定的记录范围,row属性必须等于"结束 - 起始",mysql的limit语句是由0起始的,如 “limit 0,5”表示的是取前五笔记录,“limit 5,5”表示由第五笔记录起,取下五笔记录,使用了本属性后,row属性将无效。[14] att='数值' 表示自定义属性值[15] subday='天数' 表示在多少天以内的文档,通常用于获取指定天数的热门文档、推荐文档、热门评论文档等[16] partsort='排列位数'表示自动获得父栏目的所有子数中排列在第几位的栏目ID,标记为 {dede:autolist}{/dede:autolist} 时,使用本属性才有效。
底层模板字段:ID(同 id),title,iscommend,color,typeid,ismake,description(同 info),writer,shorttitle,memberidpubdate,senddate,arcrank,click,litpic(同 picname),typedir,typename,arcurl(同 filename),typeurl,stime(pubdate 的"0000-00-00"格式),textlink,typelink,imglink,image 其中:textlink = <a href='arcurl'>title</a>typelink = <a href='typeurl'>typename</a>imglink = <a href='arcurl'><img src='picname' border='0' width='imgwidth' height='imgheight'></a>image = <img src='picname' border='0' width='imgwidth' height='imgheight'> 字段调用方法:[field:varname/]如:{dede:arclist infolen='100'}[field:textlink/]<br>[field:info/]<br>{/dede:arclist} 注:底层模板里的Field实现也是织梦标记的一种形式,因此支持使用PHP语法,Function扩展等功能如: 给当天发布的内容加上 (new) 标志[field:senddate runphp='yes'] $ntime = time();$oneday = 3600 24;if(($ntime - @me)<$oneday) @me = "<font color='red'>(new)</font>";else @me = "";[/field:senddate]
Field 标记功能说明:用于获取特定栏目或档桉的字段值及常用的环境变量值适用范围:封面模板、列表模板、文档模板(1)基本语法{dede:field name='字段名'/}(2) 系统分配的field板块模板:phpurl,indexurl,indexname,templeturl,memberurl,powerby,webname,specurl 列表模板:position,title,phpurl,templeturl,memberurl,powerby,indexurl,indexname,specurl,栏目表dede_arctype的所有字段其中 position 为 “栏目一 > 栏目二” 这样形式的链接,title则为这种形式的标题 文档模板:position,phpurl,templeturl,memberurl,powerby,indexurl,indexname,specurl,id(同 ID,aid)(3) 文档所有内容字段档案dede_archives表 和 附加表的所有字段。 Channel 标记功能说明:用于获取栏目列表 适用范围:封面模板、列表模板、文档模板 (1)基本语法{dede:channel row='' type=''}自定义样式模板(InnerText){/dede:channel} (2)属性 [1] row='数字' 表示获取记录的条数(通用在某级栏目太多的时候使用,默认是 8) [2] type = top,sun/son,self type='top' 表示顶级栏目type='son' 或 'sun' 表示下级栏目type='self' 表示同级栏目 其中后两个属性必须在列表模板中使用。 (3)底层模板变量ID,typename,typedir,typelink(仅表示栏目的网址) 例:{dede:channel type='top'}<a href='[field:typelink /]'>[field:typename/]</a> {/dede:channel} 注:在没有指定typeid的情况下,type标记与模板的环境有关,如,模板生成到栏目一,那么type='son'就表示栏目一的所有子类Type 标记别名 onetype功能说明:表示指定的单个栏目的链接适用范围:封面模板、列表模板、文档模板(1)语法 {dede:type typeid=''}{/dede:type}(2)属性 typeid='栏目ID'(3)底层模板变量typename,typelink(仅表示栏目的网址)Autochannel 标记功能说明:表示指定排序位置的单个栏目的链接适用范围:封面模板、列表模板、文档模板(1)语法 {dede:autochannel partsort=''}{/dede:autochannel}(2)属性 partsort='栏目所在的排序位置'(3)底层模板变量typename,typelink(仅表示栏目的网址)Mytag 标记功能说明:用于获取自定义宏标记的内容 适用范围:封面模板、列表模板、文档模板 (1)基本语法{dede:mytag typeid='' name='' ismake=''/} (2)属性[1] typeid = '数字' 表示栏目ID,默认为 0,在没有设定的栏目没有定义这个名称的标记,会按如下搜索方式来搜索“先向上查找父栏目 -> 通用标记(typeid=0)的同名标记”。 [2] name = '' 标记名称。 [3] ismake = yes|no 默认为 no 表示mytag里的内容不包含其它封面模板的标记,yes则表示标记内容含有其它封面模板标记。 Vote 标记功能说明:用于获取一组投票表单 适用范围:封面模板 (1) 基本语法{dede:vote id='投票ID' lineheight='22'tablewidth='100%' titlebgcolor='#EDEDE2'titlebackground='' tablebgcolor='#FFFFFF'}{/dede:vote} 注:本标记直接生成投票的HTML表单,为了让你更方便修改其样式,建议在后台->投票管理的地方直接复制生成的HTML代码来使用。Flink 标记,等同 friendlink功能说明:用于获取友情链接 适用范围:封面模板 (1)基本语法{dede:flink type='' row='' col='' titlelen='' tablestyle=''}{/dede:flink}(2)属性[1]type:链接类型,值:a textall 全部用文字显示b textimage 文字和图得混合排列c text 仅显示不带Logo的链接d image 仅显示带Logo的链接-------------------------------------[2]row:显示多少行,默认为4行[3]col:显示多少列,默认为6列[4]titlelen:站点文字的长度[5]tablestyle: 表示 <table 这里的内容> Mynews 标记功能说明:用于获取站内新闻 适用范围:封面模板 (1) 基本语法{dede:mynews row='条数' titlelen='标题长度'}Innertext{/dede:mynews}(2)属性[1] row 新闻条数[2] titlelen 标题长度(3)底层模板变量[field:title/]、[field:writer/]、[field:senddate function="strftime('%y-%m-%d %H:%M',@me)"/](时间)、[field:body/] LOOP 标记功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作适用范围:所有模板(1) 基本语法{dede:loop table=' sort='' row='' if=''} 底层模板{/dede:loop} (2) 属性[1] table 表示查询的数据表[2] sort 用于排序的字段[3] row 返回结果的条数[4] if 查询条件(3)底层模板变量这个标记的底层模板变量即是被查询表的所有字段例:获取Phpwind论坛的最新主题贴子 {dede:loop table='pw_threads' sort='tid' row='8' if=''} ·[field:subject function="cn_substr('@me',30)"/]
([field:lastpost function="date('m-d H:M','@me')"/])
{/dede:loop}Channelartlist 标记功能说明:用于获取当前频道的下级栏目的内容列表 适用范围:封面模板 (1)基本语法{dede:channelArtlist typeid=0 col=2 tablewidth='100%'}<table width="99%" border="0" cellpadding="3" cellspacing="1" bgcolor="#BFCFA9"><tr><td bgcolor="#E6F2CC">{dede:type}<table border="0" cellpadding="0" cellspacing="0" width="98%"><tr><td width='10%' align="center"><img src='[field:global name='cfg_plus_dir'/]/img/channellistgif' width='14' height='16'></td><td width='60%'><a href="[field:typelink /]">[field:typename /]</a></td><td width='30%' align='right'><a href="[field:typelink /]">更多</a></td></tr></table>{/dede:type}</td></tr><tr><td height="150" valign="top" bgcolor="#FFFFFF">{dede:arclist row="8"}·<a href="[field:arcurl /]">[field:title /]</a><br>{/dede:arclist}</td></tr></table><div style='font-size:2px'> </div>{/dede:channelArtlist} 除了宏标记外,channelArtlist 是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套 {dede:type}{/dede:type} 和 {dede:arclist}{/dede:arclist} 两个标记。 (2) 属性[1]typeid=0 频道ID,默认的情况下,嵌套的标记使用的是这个栏目ID的下级栏目,如果你想用特定的栏目,可以用","分开多个ID。 [2]col=2 分多列显示 [3]tablewidth='100%' 外围表格的大小 List 标记功能说明:表示列表模板里的分页内容列表 适用范围:仅列表模板 list_htm(1)基本语法{dede:list col='' titlelen='' infolen='' imgwidth='' imgheight='' orderby='' pagesize=''}{/dede:list} (2)属性[1]col 内容列数[2]titlelen 标题长度[3]infolen 内容摘要长度[4]imgwidth 缩略图宽[5]imgheight 缩略图高[6]orderby 排序方式,有效的排序方式有 senddate、pubdate、id、click、lastpost、postnum ,默认为 sortrank [7]pagesize 分页大小(3)底层模板变量 ID(同 id),title,iscommend,color,typeid,ismake,description(同 info),postnum,lastpost,shorttitlepubdate,senddate,arcrank,click,litpic(同 picname),typedir,typename,arcurl(同 filename),typeurl,stime(pubdate 的"0000-00-00"格式),textlink,typelink,imglink,image 注:list标记除了支持档案表的基本模板变量外,还支持附加表的字段,你可以在模型管理中知道附加表支持列表使用的字段有哪些。Page 标记功能说明:表示分页页面的附加参数 适用范围:列表模板 语法: {dede:page pagesize="每页结果条数"/} 注:此标记在dedecms31中已经过期,dedecms31中直接把 pagesize属性加在 list 标记中,表示记录分页大小。Pagelist 标记功能说明:表示分页页码列表 适用范围:列表模板 (1)语法{dede:pagelist listsize='3' listitem=''/} (2)属性 [1] listsize 表示 [1][2][3] 这些项的长度 x 2 [2] listitem 表示页码样式,可以把下面的值叠加index 首页pre 上一页pageno 页码next 下一页end 末页option 下拉跳转框例: {dede:pagelist listsize='3' listitem='index pre pageno next end option'/} Pagebreak 标记功能说明:表示文档的分页链接列表。适用范围:仅文档模板。 语法:{dede:pagebreak/} Prenext 标记功能说明:表示获取文档“上一篇/下一篇”的链接列表。适用范围:仅文档模板。 (1)语法:{dede:prenext/} (2)属性:[1] get 获取连接类型(仅2007版),get='' 同V4显示横排的上下页连接, get='pre' 上一篇的连接 get='next' 下一篇连接 注:此标记默认为横向排列,如果你想用竖向排列,可以用{dede:prenext function="str_replace(' 下一篇:','<''br'' />下一篇:',@me)"/} 表示 Pagetitle 标记功能说明:表示获取文档的分页标题适用范围:仅文档模板。 (1)语法:{dede:pagetitle style='select'/}(2)属性:style 表示分页标题的展示样式select 表示下拉框、link 表示文字直接链接Fieldlist 标记功能说明:获得附加表的所有字段信息。适用范围:仅文档模板。 语法:{dede:fieldlist}[field:name/] : [field:value/] <br>{/dede:fieldlist} Myad 标记功能说明:获取广告代码适用范围:所有模板。 建议在广告管理模块中获取,在此不作描述 ################################################################ 以下仅适用于DedeCms2007版 ##############################################################Ask 标记功能说明:用于获取最新的问答的主题。适用范围:非扩展模块所有模板。 (1)语法:{dede:ask row='' qtype=''}底层模板{/dede:ask} (2)属性:[1] row 记录条数。[2] qtype 类型 默认为新回复问题,commend推荐问题 ok已解决问题 high高分问题 (3)底层模板:<dd><span class="tclass">[<a href='[field:typeurl/]'>[field:tidname/]</a>]</span><span class="tlink"><a href="[field:url/]">[field:title/]</a></span></dd>[field:typeurl/] 栏目网址 [field:tidname/] 栏目名称[field:url/] 问题网址 [field:title/] 问题标题 [field:id/] 问题idSql 标记功能说明:用于从模板中用一个SQL查询获得其返回内容。适用范围:非扩展模块所有模板。 (1)语法:{dede:sql sql=""}底层模板{/dede:sql} (2)属性:[1] sql 完整的SQL查询语句。(3)底层模板:SQL语句中查出的所有字段都可以用[field:字段名/]来调用。Group 标记功能说明:获取特定条件的圈子。适用范围:非扩展模块所有模板。 (1)语法:{dede:group row="个数" orderby='排序条件' }底层模板{/dede:group} (2)属性:[1] row 返回结果个数。[2] orderby 排序条件,一般为: 默认 threads 发贴量, members 会员数, hits 浏览量, stime 创建时间。 (3)底层模板:[field:url/]圈子网址 [field:groupname/]圈子名称 [field:icon/]圈子图标 [field:groupid/] 圈子IDGroupthread 标记功能说明:获取圈子最新发表的主题。适用范围:非扩展模块所有模板。 (1)语法:{dede:groupthread gid='' row='' orderby='' orderway=''}底层模板{/dede:groupthread} (2)属性:[1] gid='' 圈子分类,为空或0刚表示所有分类[2] row='' 条数 [3] orderby='' 排序条件 默认 dateline[4] orderway=' 排序方向 desc 或 asc (3)底层模板:[field:url/]圈子网址 [field:groupname/]圈子名称 [field:icon/]圈子图标 [field:groupid/] 圈子IDbooklist 标记功能说明:用于获取最新连载图书。适用范围:连载书库。 (1)语法:{dede:booklist row='' booktype='' titlelen='' orderby='' catid='' author='' imgwidth='' imgheight=''}底层模板{/dede:booklist} (2)属性:[1] row='' 行数 [2] booktype='' 图书类型 1 漫画,0 小说, -1 或默认 全部 [3] titlelen='' 标题长度[4] orderby='' 排序[5] catid='' 栏目ID[6] author='' 作者[7] imgwidth='' [8] imgheight=''(3)底层模板:contenttitle,contentid,contenturl,dmbookurl,bookurl,catalogurl,cataloglink,booklink,contentlink,imglink,ischeck,booktypenamecatalog 标记功能说明:用于获取书库的栏目。适用范围:连载书库。 (1)语法:{dede:catalog type=''}底层模板{/dede:catalog} (2)属性:[1] type 类型 默认为顶级栏目,type=son 表示当前栏目的子栏目,指定特定的栏目id则为所指定的栏目。 (3)底层模板:本标记支持in嵌套,里面的in标记还可以再使用一重样式{dede:catalog}<dd><a href="{in:field name='url'}{/in:field}">{in:field name='classname'}{/in:field}</a></dd>{/dede:catalog}列出所有分类:{dede:catalog}<div class="book_class_form"><dl><dt><a href="{in:field name='url'}{/in:field}">{in:field name='classname'}{/in:field}:</a></dt>{in:sonlist}<dd> <a href='[field:url/]'>[field:classname/]</a></dd>{/in:sonlist}</dl><div class="clear"></div></div>{/dede:catalog}chapter 标记功能说明:用于获取图书的章节列表,适用于book_bookhtm。适用范围:连载书库。 (1)语法:{dede:chapter}底层模板{/dede:chapter} (2)属性:(3)底层模板:url 网址 ch 章节 title 标题 contentlist 标记功能说明:用于获取最新图书章节。适用范围:连载书库。 (1)语法:{dede:contentlist row='' booktype='' titlelen='' catid=''}底层模板{/dede:contentlist} (2)属性:[1] row 条数 [2] booktype 图书类型 1 漫画,0 小说, -1 或默认 全部 [3] titlelen[4] catid 栏目ID(3)底层模板:contenttitle,contentid,contenturl,dmbookurl,bookurl,catalogurl,cataloglink,booklink,contentlink,imglink,ischeck,booktypename本标记实际是由booklist引申的,不同之处是按book的最新发表章节排序
在网络上有很多可以免费下载的DEDECMS模板,下载之后如何安装是很多新手的共同问题。
1、下载一个模板之后要判断一下模板文件是否齐全。htm文件中是否包括首页、列表页和文章内容页等;htm文件用到的css文件是否包括;模板安装包中是否包括网站用到的背景;
2、建设网站栏目。在安装调试一个模板之前必须事先建好网站的相关栏目,这样才能做好调试。栏目的建设可以参考模板的样例网站进行建设。
3、根据建好的网站栏目修改模板中调用的相关栏目ID。在htm文件中找到如下标签
{dede:arclist row=’8′ titlelen=’36′ typeid=’56′ orderby=’rand’ }
{/dede:arclist}
将其中的 typeid调整为自己网站的栏目ID。
4、调整htm文件和css文件中用到的的路径,根据自身网站的存放路径进行调整。
5、修改模板文件htm中的固定链接。在模板中存在一些固定链接,可以根据你自己的网站进行适当调整。
6、上传模板文件。将模板中的文件目录上传到服务器的/templets目录下,上传之前需要保存好原来目录下的文件。这个是默认的上传方法,如果模板本身有特殊要求,可以根据模板本身的要求上传。
7、在后台生成首页、栏目页和内容页,根据效果对调试修改相关模板。
8、default目录文件说明
indexhtm(首页模板)
headhtm(网页头部模板)
footerhtm(网页底部模板)
list_htm(列表页模板)
article_htm(内容页模板)
taghtm(标签模板)
taglisthtm(标签列表模板)
searchhtm(搜索页模板)
以上简单描述了DEDECMS模板安装的一般思路,不同的模板安装方法也存在不同,希望上面的描述能为你安装dedecms模板时提供一些帮助。
http://wwwzz1314com/viewthreadphptid=36&extra=page%3D1
DEDEcms模板制作教程!你的想法有问题,dedecms不是那么用的!
dedecms程序是有固定目录的,下载了模板后还要改,后台生成后才行~
0条评论