先说清楚,这篇东西是给谁看的——怕的就是那种刚摸织梦两天,连后台都没整明白就嚷着要“做模板”的,你如果已经会用dede后台发文章,知道什么是栏目、什么是单页,但一打开模板文件夹就发怵,看着一堆.htm文件眼晕,那这篇你就踏踏实实看完,做模板这事,真没你想的那么玄乎,但也别指望一点HTML、CSS不懂就能飞,至少你得过一遍这类基础,不然我下面写的标签你抄着用没问题,真出了错你连破绽都看不出来。
不扯了,直接干。
第一步,准备好“工地”,做织梦模板,我建议你本地搭起来再做,别直接上服务器改,改坏了那叫一个惨,最笨也最稳的办法:装个phpStudy或者小皮面板,启动Apache和MySQL,把织梦源码丢进www目录,然后按照安装向导填数据库信息,后台地址一般是http://127.0.0.1/dede,登录进去,先保证本地网站能跑起来,这步不会?那你别做模板了,先回去学安装,本地跑起来后,我要你打开根目录下的templates文件夹——织梦默认的模板都在这儿,有的版本是“templets”,别找错了。
第二步,知道你的模板要放在哪,你自己做的模板,最好在templates目录下新建一个文件夹,比如叫mystyle,以后所有模板文件都扔进这里面,你可以在后台“系统”->“系统基本参数”里找到“模板默认风格”,填上mystyle,这样全站默认就认你这套了,但是注意,这只是改了默认风格名,各个栏目的模板你到底用哪个文件,还得在栏目管理里单独配,或者用默认的模板映射规则,新手最容易在这儿懵——明明改了默认风格,怎么首页还是老样子?因为首页模板是index.htm,列表是list*.htm,文章是article*.htm,这些后缀名你都得在mystyle文件夹里建好,系统才会去找。

织梦CMS模板制作从0到1,新手也能照着搭的一套完整实战流程
第三步,从零描出“骨架”,用记事本或者VSCode,在mystyle文件夹里新建index.htm——这就是你的网站首页,别急着堆代码,先写死一个最简单的HTML结构:头部、中部、底部,头部放logo和导航,底部放版权,然后你需要把头部和底部拆成两个公共文件,叫head.htm和footer.htm,再用<script src='{dede:field name='templeturl'/'}/js/jquery.js'>这种思路?别急,织梦有专门的include标签,正确做法是在index.htm里写{dede:include filename="head.htm"/}和{dede:include filename="footer.htm"/},把公共部分引进去,注意路径——include默认从templets/mystyle/下找,所以你这两个文件必须放在mystyle里,不然扯淡。
第四步,让模板活起来,就是往骨架里填标签,首页要调用栏目,写{dede:channel type='top' row='8'}导航就出来了,要调用最新文章,写{dede:arclist row='10' titlelen='30'},循环里用[field:title/],[field:arcurl/]输出链接,[field:pubdate function="MyDate('Y-m-d',@me)"/]输出日期,这是最核心的东西,你去做列表页list*.htm时,要用{dede:list pagesize='20'}这个专用列表标签,循环输出[field:title/]、[field:arcurl/],并且它的分页用的是{dede:pagelist listitem="info,index,end,pre,next,page"}/,文章页article*.htm里,正文是{dede:field.body/}是{dede:field.title/},这些标签都是“写死在模板里的”,不是后台自动生成的,你要做多少个栏目风格,就得复制多少个list文件,只是样式不同。
第五步,配好参数,别让模板“裸奔”,模板做完,后台有几步必配,第一,在“系统-系统基本参数”里,把“使用动态页”这个选项,如果你不是专门做动态交互,建议关掉动态访问,改成“生成静态HTML”,因为织梦的强项就是静态生成,模板做出来必须跑静态才快,第二,去“内容模型管理”里看你用的文章模型,把你要在模板里用的字段选上,比如来源、作者、浏览量,这样你在模板里才能用{dede:field.source/}这种标签,第三,如果模板里有自定义字段,产品型号”,你必须在模型里添加好,然后到后台栏目里设置该栏目使用的模型,再在模板中对应输出,别忘了更新缓存——后台“生成”菜单里,有个“更新系统缓存”,你改完模板必须点一下,不然老模板还留在内存里。
第六步,踩坑警告,这几点我保你九成新手都会中招。
第一坑:标签大小写和空格。{dede:arclist}你写成{dede:Arclist},直接不解析,页面白花花一片,标签内的属性值,比如row='10',引号用中文引号也完蛋,最好统一用英文半角。
第二坑:CSS和JS路径,你模板里引用的css,如果写href="css/style.css",那是相对路径,但织梦静态页面可能生成在根目录或栏目目录下,路径就乱了,稳妥做法是在模板head区引入全局变量:<script src="{dede:global.cfg_templets_skin/}/js/style.js"></script>,其中cfg_templets_skin就是当前模板目录的URL路径,这样无论页面在哪一层都能找对,如果你写死了相对路径,首页能打开,点进文章页出不来样式,八成就是这毛病。
第三坑:include嵌套,你的head.htm里如果又写一个include引另一个公共文件,可以,但注意不能循环嵌套,也别让include的文件里再有{dede:include}嵌套超过两层,否则生成静态时容易卡死或报错。
第四坑:乱码,文件保存编码一定要是UTF-8无BOM头,你用记事本另存为,选择UTF-8,但记事本会加BOM,导致模板页头部出现黑块,建议用VSCode或Notepad++,选“以UTF-8无BOM编码保存”,不然你后台改个东西,页面顶部就跑出来三个问号,烦死你。
第五坑:列表页模板命名,织梦的列表模板规则是list_自定义名称.htm,然后你在后台栏目管理里,编辑栏目有个“列表模板”,下拉框里找,如果你新建了一个list_new.htm,但下拉框看不到,那是没刷新,去“生成-更新系统缓存”里刷新一下,或者去“模板管理”里手动指定路径,最惨的是你命名成list.htm,又会跟默认的冲突,系统不认。
别急着上传,本地做好后,先到后台“生成-一键更新网站”生成所有静态页,如果生成过程中报错,仔细看是哪个模板文件的问题,标签写错、字段不存在,都会在生成日志里提示,改完再次生成,全部成功,再用FTP把templates/mystyle整个文件夹传到服务器,同时把后台生成的HTML文件也传上去,如果用的是伪静态,那就更需要保证模板名与后台配置一一对应。
织梦模板这活儿,说白了就是:会用标签,会分模块,会控路径,你跟着我把上面这套流程走通,至少能自己做一个能跑、不难看的站了,别一见标签库里那一百多个标签就慌,你常用的没几个,先做,做中碰坑,再回头查,这才算真正上手,谁还不是从配错一个路径开始的老油条呢?别整虚的,动手写你的第一个模板去吧。
发表评论