修改 dedecms_skins 主要涉及以下几个方面:

- 理解
dedecms_skins的工作原理 - 如何修改默认的模板文件
- 如何创建和使用自定义皮肤
- 如何修改模板中的变量和逻辑
- 常见问题与调试技巧
理解 dedecms_skins 的工作原理
在修改之前,先要明白它的结构。
- 位置:
dedecms_skins文件夹位于你的网站根目录下。 - 核心文件:
config.php: 皮肤配置文件,定义了当前使用的皮肤、皮肤列表等。index.html: 默认的首页模板文件。list_*.html: 列表页模板文件,如list_article.html(文章列表)、list_product.html(产品列表)。article_*.html: 文章内容页模板文件,如article_article.html。search.html: 搜索结果页模板。page_*.html: 其他页面模板,如page_feedback.html(留言页)。style/: 目录存放CSS样式文件。images/: 目录存放图片资源。js/: 目录存放JavaScript脚本。
织梦系统会根据你访问的页面类型(首页、列表页、内容页等),自动去 dedecms_skins 目录下寻找对应的模板文件并渲染出来。
如何修改默认的模板文件
这是最直接、最常用的修改方式,适用于对现有皮肤进行微调。
操作步骤:

- 通过FTP或文件管理器连接你的网站,进入网站根目录。
- 找到并打开
dedecms_skins文件夹。 - 定位你需要修改的模板文件。
- 想改首页,就编辑
index.html。 - 想改文章列表页,就编辑
list_article.html。 - 想改文章内容页,就编辑
article_article.html。
- 想改首页,就编辑
- 使用代码编辑器(如 VS Code, Sublime Text, Dreamweaver)打开文件进行修改。
- HTML结构: 修改页面的
<div>布局、增加或删除模块。 - CSS样式: 修改
style/目录下的.css文件,或者直接在模板文件中使用<style>标签修改样式(不推荐,建议外联CSS)。 - 修改固定的文字、图片链接等。
- HTML结构: 修改页面的
示例:修改网站标题
打开 index.html,找到类似这样的代码:
这里的 {dede:global.cfg_webname/} 是一个织梦标签,它会显示你在“系统” -> “系统基本参数” -> “站点信息”中设置的“网站名称”,如果你想在这里硬编码一个标题,可以直接修改为:
注意:直接硬编码会失去动态管理的意义,通常我们只修改标签之外的HTML结构。

如何创建和使用自定义皮肤
如果你想做一套全新的模板,或者想保留原版以便恢复,最好的方式是创建一个自定义皮肤。
操作步骤:
-
复制默认皮肤文件夹: 在
dedecms_skins目录下,找到默认的皮肤文件夹(通常名为default),右键复制它,然后粘贴一份,并重命名,命名为mycustom。 -
修改皮肤配置文件: 打开你新创建的
mycustom文件夹,找到config.php文件,修改里面的配置信息,主要是$cfg_skin_name和$cfg_skin_dirname。// config.php $cfg_skin_name = '我的自定义皮肤'; // 皮肤在后台显示的名称 $cfg_skin_dirname = 'mycustom'; // 皮肤文件夹的实际名称,必须和文件夹名一致 // ... 其他配置可以保持不变
-
在新皮肤文件夹中修改模板: 你可以像第2步一样,自由地修改
mycustom文件夹里的所有模板文件、样式和图片,而不会影响到原来的default皮肤。 -
在后台切换皮肤:
- 登录织梦DedeCMS后台。
- 进入 “系统” -> “系统基本参数” -> “核心设置”。
- 找到 “模板默认皮肤目录” 这个选项,将其值修改为你的自定义皮肤文件夹名,即
mycustom。 - 点击“保存”。
- 清空一下网站缓存(后台有“一键更新缓存”或“文件式缓存”管理功能)。
你的网站就已经应用上你新创建的 mycustom 皮肤了,如果需要换回,只需要把这里的值改回 default 即可。
如何修改模板中的变量和逻辑
织梦模板的强大之处在于它的标签系统,修改逻辑和变量主要通过这些标签实现。
常用标签类型:
-
全局标签: 在任何页面都能使用。
{dede:global.cfg_webname/}: 网站名称{dede:global.cfg_weburl/}: 网站URL{dede:global.cfg_keywords/}: 网站关键词
-
栏目标签: 通常用于列表页和首页,调用栏目信息。
{dede:channel type='top'}...{/dede:channel}: 调用顶级栏目。{dede:field.typename/}: 获取当前栏目的名称。
-
文章列表标签: 用于文章列表页,调用文章列表。
{dede:list pagesize='10'}...{/dede:list}: 调用10篇文章。[field:title/]: 文章标题。[field:arcurl/]: 文章链接。[field:pubdate function="MyDate('Y-m-d',@me)"/]: 发布日期,通过函数格式化。
-
标签: 用于文章内容页,调用单篇文章的详细信息。
{dede:field.title/}: 文章标题。{dede:field.body/}: 文章正文。{dede:field.description/}:
示例:在首页添加一个“最新文章”列表
- 打开
dedecms_skins/index.html。 - 在你希望显示的位置(比如一个
<div>里)添加以下代码:<div class="latest-articles"> <h2>最新文章</h2> <ul> {dede:arclist titlelen='30' row='5' orderby='pubdate'} <li> <a href="[field:arcurl/]">[field:title/]</a> <span>[field:pubdate function="MyDate('m-d',@me)"/]</span> </li> {/dede:arclist} </ul> </div>arclist: 调用文章列表。titlelen='30': 标题长度限制为30个字符。row='5': 调用5篇文章。orderby='pubdate': 按发布时间排序。[field:arcurl/]和[field:title/]是循环内部的变量,会依次被每篇文章的数据替换。
常见问题与调试技巧
-
修改后没有生效?
- 缓存问题: 这是最常见的原因,请务必在后台执行 “生成” -> “一键更新网站缓存”。
- 文件权限: 确保你修改的文件和目录有正确的读写权限(通常是755或644)。
- 路径错误: 检查CSS、JS、图片的路径是否正确,如果模板文件在
dedecms_skins/myskin/下,那么CSS路径应该是style/style.css,而不是/style/style.css。
-
如何调试模板?
- 浏览器开发者工具: 按F12打开开发者工具,在 "Elements" 面板中检查HTML结构是否正确,在 "Console" 面板中查看是否有JavaScript错误。
- 注释法: 在模板文件中,你可以使用
<!-- {dede:tagname}...{/dede:tagname} -->这样的注释来临时屏蔽某个标签块,看是否是它导致了问题。 - 简化法: 如果一个复杂的标签不工作,尝试把它拆分成最简单的形式(
{dede:list row='1'}[field:title/]{/dede:list}),看是否能正常显示,再逐步增加参数。
-
dedecms_skins和templets的区别?templets: 是旧版(V5.7以前)的模板目录,里面按栏目ID存放模板文件(如templets/default/index.htm)。dedecms_skins: 是新版(V5.7及以后)的模板引擎,所有模板统一放在dedecms_skins目录下的各个皮肤文件夹中,管理更集中,支持皮肤切换更方便。- 注意: 升级到新版后,旧版的
templets目录依然存在,但系统默认不再使用它,除非你进行特殊配置,否则你的修改应该集中在dedecms_skins。
修改 dedecms_skins 的核心思路是:
- 想改哪里的样式/结构 -> 找到对应的
*.html模板文件。 - 想调用什么数据 -> 使用合适的织梦标签(如
arclist,channel等)。 - 想换一套全新的模板 -> 复制
default文件夹,重命名,修改config.php,并在后台切换。 - 改完没效果 -> 清空缓存!清空缓存!清空缓存!
希望这份详细的指南能帮助你顺利地修改你的织梦网站!
