织梦标题长度限制怎么修改
标题被截断的原因
很多站长在使用织梦DedeCMS发布文章时,会发现标题输入超过一定字数后被自动截断,后台显示不完整,前台展示也缺斤少两。这是因为织梦数据库中标题字段 title 默认长度设置为60个字符(约20个汉字),加上后台系统参数里的标题长度限制,共同导致超长标题无法完整保存。
要从根本上解除限制,需要同时修改数据库字段长度和后台系统参数,二者缺一不可。
一、修改数据库字段长度
标题存储在 dede_archives 表的 title 字段。登录数据库管理工具(phpMyAdmin或Navicat),执行以下SQL:
ALTER TABLE `dede_archives` CHANGE `title` `title` CHAR(255) NOT NULL DEFAULT '';
除了主表,附加表 dede_addonarticle 中如果有标题相关字段也需要一并修改。建议统一改为 CHAR(255) 或 VARCHAR(255),足够容纳绝大多数标题。
二、修改后台系统参数
数据库改完后,后台发布文章时仍有长度校验,需要调整系统参数:
- 登录后台,进入「系统」-「系统基本参数」-「其他选项」。
- 找到「文章标题长度」选项,默认值通常为60,改为255。
- 找到「文档标题长度限制」相关项,同样调整为255。
- 保存设置并清空缓存。
三、修改后台发布页面JS校验
有些版本的后台发布页面有JavaScript字数校验,输入超长会弹窗提示。需要修改对应JS文件去掉或放宽限制:
- 编辑
/dede/templets/article_add.htm,找到标题输入框的maxlength属性,改为255。 - 检查同文件中的字数统计JS,把限制值同步调整。
- 编辑
/dede/templets/article_edit.htm做同样修改。
<input name="title" type="text" id="title" value=""
style="width:380px" maxlength="255" />
四、模板显示控制
数据库和后台限制解除后,标题能完整保存。但前台展示时,长标题可能撑破布局,需要在模板中控制显示长度,超出部分用省略号代替。
用织梦标签截断
[field:title function="cn_substr(@me,40)"/]
表示截取前40个字符,超出自动截断。CSS层面也可以配合:
.title {
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
这样标题在视觉上单行显示并省略,但HTML中完整标题仍然保留,鼠标悬停可看全称,不影响SEO。
SEO标题字段的使用建议
织梦文章有「文章标题」和「SEO标题」两个字段。文章标题用于页面h1展示,SEO标题(shorttitle/seo标题)专门用于搜索引擎。建议:
| 字段 | 用途 | 建议长度 |
|---|---|---|
| title 文章标题 | 页面h1展示 | 完整描述,不刻意控制 |
| shorttitle 简略标题 | 列表页、推荐位 | 15-20字精炼 |
| seo标题 | meta title | 30字内含关键词 |
修改后的验证与维护
所有修改完成后,发布一篇长标题测试文章,确认后台能完整保存、前台能正常展示、数据库中字段内容完整。修改数据库字段属于结构性变更,操作前务必做好数据库备份。日后织梦升级版本时,注意检查升级是否覆盖了后台模板文件的修改,必要时重新调整。保持标题字段长度与展示策略的统一,既保证内容完整,又兼顾搜索展示效果。