修改前的准备工作(非常重要!)
在修改任何文件之前,请务必做好以下准备,以防操作失误导致网站无法访问。
-
备份!备份!备份!
- 全站备份:通过你的主机控制面板(如 cPanel、宝塔面板)或 FTP 工具,将整个网站目录下载到本地。
- 数据库备份:在织梦后台的【系统】-> 【数据库备份/还原】 中,执行一次完整的数据库备份并下载。
- 模板文件备份:如果你只打算修改模板,至少要将
/templets/目录完整备份。
-
本地环境测试
- 强烈建议在本地电脑上搭建一个和线上环境一模一样的织梦网站(可以使用 DedeAMPZ、phpStudy、宝塔面板等工具)。
- 先在本地进行所有修改和测试,确认无误后,再将修改好的文件通过 FTP 上传到服务器,这样可以避免因修改错误导致网站长时间无法访问。
-
开启模板调试模式
- 登录织梦后台,进入【系统】-> 【系统基本参数】 -> 【核心设置】。
- 找到 “模板调试模式”,选择 “是”。
- 作用:开启后,模板中未被
{dede:}标签调用的静态HTML内容会以灰色高亮显示,这能帮助你快速识别哪些是模板代码,哪些是最终会被替换的静态内容。
织梦模板文件的基本结构
要修改模板,首先要了解织梦模板文件存放在哪里以及它们的命名规则。
-
模板根目录
- 默认路径:
/templets/ - 这里存放了所有模板相关的文件。
- 默认路径:
-
默认模板目录
- 路径:
/templets/default/ - 织梦自带了一套默认模板,通常我们修改都是基于这套模板,或者复制一份并重命名(
mytemplate)进行修改。
- 路径:
-
主要模板文件及其作用
| 文件名 | 位置 | 作用说明 |
|---|---|---|
index.htm |
/templets/你的模板名/ |
网站首页模板 |
list_*.htm |
/templets/你的模板名/ |
列表页模板。 代表栏目ID,如 list_1.htm 是ID为1的栏目列表页。 |
article_*.htm |
/templets/你的模板名/ |
页模板。 代表栏目ID,如 article_1.htm 是ID为1栏目的文章内容页。 |
search.htm |
/templets/你的模板名/ |
搜索结果页模板 |
head.htm |
/templets/你的模板名/ |
头部公共模板,通常包含 logo、主导航、顶部广告等。 |
footer.htm |
/templets/你的模板名/ |
底部公共模板,通常包含版权信息、友情链接、底部导航等。 |
channellist.htm |
/templets/system/ |
栏目列表标签模板,用于生成主导航等。 |
imglist.htm / imgarticle.htm |
/templets/你的模板名/ |
图片集列表页/内容页模板 |
修改模板的核心方法
修改模板主要通过两种方式:直接编辑模板文件 和 通过后台可视化编辑,对于精细化的修改,强烈推荐使用前者。
直接编辑模板文件(最常用、最灵活)
你需要一个代码编辑器,如 VS Code、Sublime Text、Dreamweaver 或 Notepad++。
操作步骤:
- 通过 FTP 连接服务器:使用 FileZilla 等工具连接到你的网站服务器。
- 定位模板文件:进入
/templets/你的模板名/目录,找到你需要修改的文件(如index.htm)。 - 下载并编辑:将文件下载到本地,用代码编辑器打开。
- 修改代码:织梦模板是 HTML + 自定义标签的混合体,你需要了解一些常用标签。
- 保存并上传:修改完成后,保存文件,并通过 FTP 覆盖上传到服务器原位置。注意:如果开启了FTP上传,可以直接在后台编辑器中修改并保存。
通过后台可视化编辑(适合简单修改)
- 登录织梦后台。
- 进入【模板】-> 【默认模板管理】。
- 找到你想要修改的页面(如“首页模板”),点击右侧的 【可视化】 或 【代码】 按钮。
- 可视化:所见即所得的编辑器,适合修改文字、图片位置等,但可能会破坏复杂的代码结构。
- 代码:直接在线编辑模板文件源码,和方法一类似,但速度可能较慢,且大文件容易卡顿。
织梦模板常用标签和修改技巧
理解标签是修改模板的关键。
常用全局标签(通常放在 head.htm 中)
- :
{dede:global.cfg_webname/} - 网站描述:
{dede:global.cfg_description/} - 网站关键词:
{dede:global.cfg_keywords/} - 调用头部模板:
{dede:include filename="head.htm"/} - 调用底部模板:
{dede:include filename="footer.htm"/} - 生成CSS/JS链接:
{dede:global.cfg_cmsurl/}/templets/你的模板名/style.css
首页常用标签
-
调用顶级栏目:
{dede:channel type='top' row='8'} <a href="[field:typelink/]">[field:typename/]</a> {/dede:channel}type='top':调用顶级栏目。row='8':调用8个栏目。[field:typelink/]:栏目链接。[field:typename/]:栏目名称。
-
调用文章列表(带分页):
{dede:arclist titlelen='40' row='10' typeid=''} <li> <a href="[field:arcurl/]">[field:title/]</a> <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span> </li> {/dede:arclist} <div class="dede_pages"> <ul>{dede:pagelist listsize='4' listitem='pre,next,end,option'/}</ul> </div>typeid='':留空表示调用所有栏目,可指定栏目ID。titlelen='40'长度为40个字符。row='10':显示10条。[field:arcurl/]:文章链接。[field:title/]。[field:pubdate/]:发布日期,可用function进行格式化。{dede:pagelist/}:分页代码。
列表页/内容页常用标签
- 获取当前栏目名称:
{dede:field.typename/} - 获取当前文章标题:
{dede:field.title/} - 获取文章内容:
{dede:field.body/} - 上一篇/下一篇:
<a href="{dede:prenext get='pre'/}">上一篇</a> <a href="{dede:prenext get='next'/}">下一篇</a>
修改技巧
-
修改Logo:
- 准备好你的 logo 图片(如
logo.png),通过 FTP 上传到/templets/你的模板名/images/目录。 - 打开
head.htm文件。 - 找到
<img src="/templets/default/images/logo.gif" />这样的代码。 - 将
src属性的路径修改为你自己的图片路径,<img src="/templets/你的模板名/images/logo.png" alt="{dede:global.cfg_webname/}" />。
- 准备好你的 logo 图片(如
-
修改主导航菜单: 导航通常由
{dede:channel}标签生成,修改head.htm中对应的{dede:channel}标签代码即可,如果你想给某个栏目加一个 class,可以这样写:{dede:channel type='top' currentstyle="<li class='on'><a href='~typelink~'>~typename~</a></li>"} <li><a href="[field:typelink/]">[field:typename/]</a></li> {/dede:channel}currentstyle用于定义当前所在页面的栏目样式。 -
修改文章列表样式: 打开
list_*.htm文件,找到{dede:list}或{dede:arclist}标签所在的位置,修改其外层的 HTML 结构即可,默认可能是<li>,你可以改成<div class="news-item">。 -
修改分页样式: 默认的分页样式可能比较简陋,你可以覆盖它。
- 在后台【模板】-> 【标签源码管理】 中找到
pagelist.htm。 - 复制一份
pagelist.htm到你的模板目录/templets/你的模板名/下。 - 编辑这个新文件,用你自己的 HTML 和 CSS 重新编写分页的样式,织梦会优先调用模板目录下的文件。
- 在后台【模板】-> 【标签源码管理】 中找到
常见问题与解决方案
-
问题:修改后网站没有变化,还是显示旧内容。
- 原因1:没有清除模板缓存,织梦为了加快速度,会生成模板缓存文件。
- 解决方案:登录织梦后台,进入【生成】-> 【更新主页HTML】,点击“更新主页HTML”按钮即可,如果是列表页或内容页,则分别进入对应栏目更新。
- 原因2:文件路径错误,检查你的图片、CSS、JS文件路径是否正确,确保它们相对于网站根目录的路径是准确的。
-
问题:网站出现乱码或“模板文件不存在”的错误。
- 原因:文件编码问题或文件名错误。
- 解决方案:
- 确保你的所有模板文件(
.htm)都是 UTF-8 无BOM格式 编码,这是最常见的原因,用 VS Code 或 Sublime Text 另存为时可以选择编码。 - 检查文件名是否正确,没有多余的空格或特殊字符。
- 确保你的所有模板文件(
-
问题:想增加一个新的模块(如“客户案例”),如何实现?
- 步骤:
- 在织梦后台【核心】-> 模型管理】 中,客户案例”和文章结构不同,需要新建一个内容模型,如果结构类似,可以直接用“文章”模型。
- 在【栏目管理】中,创建一个新的顶级栏目,选择对应的模型。
- 复制一份
list_*.htm,重命名为list_新栏目ID.htm,然后编辑它,修改标题和调用逻辑。 - 复制一份
article_*.htm,重命名为article_新栏目ID.htm,编辑它。 - 在需要显示这个新栏目的地方(如首页),用
{dede:arclist}标签调用,并指定typeid='新栏目ID'。
- 步骤:
修改织梦模板是一个“理论+实践”的过程:
- 理论:熟悉文件结构和核心标签。
- 实践:从备份开始,大胆地在本地环境中尝试修改,通过查看源码和开启调试模式来理解标签的运作方式。
遇到问题时,多思考、多排查,尤其是缓存和路径这两个最常见的坑,祝你修改顺利!
