您现在的位置是:个人博客 > 织梦DEDE > 内容织梦DEDE

织梦文章标题字数长度限制,修改dedecms采集标题最长限制的方法大全

站长留余模板2019-08-04 【织梦DEDE】人已围观

简介织梦CMS在使用过程中,常遇到输入的标题原本输入的字数跟保存成功后的数字长度不一样,这个是因为织梦dedecms系统默认的文章标题字数限制是60,也就是只能输入30个汉字,超过的会自动截断

织梦CMS在使用过程中,常遇到输入的标题原本输入的字数跟保存成功后的数字长度不一样,这个是因为织梦dedecms系统默认的文章标题字数限制是60,也就是只能输入30个汉字,超过的会自动截断删除,大家都知道TITLE标题可以说是优化当中最尤为重要的一项工作,DEDECMS标题长度限制,这是织梦SEO最常见的一个问题。有时候DedeCMS首页或者其他页面不能全部展示文章标题,造成读者阅读体验差。织梦自带的采集功能,有时原文章标题字数过长会受到限制变短,采集的文章标题虽然完整,但是导入后的文章标题会变短被截断一部分。那么字段长度限制不够用怎么办呢,下面我们就详细来说说如何修改织梦文章标题字数长度限制。
方法一、修改系统参数设置(文档标题最大长度)
首先你要进入DedeCMS后台,系统-系统设置—系统基本参数—其他选项—文档标题最大长度—在这修改为200或更大(其实200应该是足够了)。
方法二、修改文档表dede_archives 字段title 为varchar(200)
系统-系统设置-SQL命令行工具——输入语句:
Alter table dede_archives change title title varchar(200)
或进入phpmyadmin,点击dede_archives 进入表——title——点击编辑——输入200 (根据需要调整) 
同时在调用的时候注意titlelen的数值大小。
有网友提问,按照上述方法修改后,仍然无法显示全部
这时问题可能出现:一是模板问题,检查相应模板相应位置上是否使用了titlelen来限制字数, 第二,可能是CSS上控制问题,检查对应CSS文件的相应代码,是否在CSS文件上进行了长度或者宽度限制。
例如:
{dede:arclist row='12' titlelen='200' infolen='800'}
<a href="[field:arcurl/]">[field:title/]</a>
<!--调用文章数量12篇,标题200个字符,描述800个字符-->
{/dede:arclist}
 方法三解决dedecms UTF-8首页文章标题显示字数太短的办法
原因分析:因为UTF-8编码1个中文汉字占用的是3个字节,GBK占用的是2个字节,所以,原先$titlelen = AttDef($titlelen,30)等于对大取30个字节,所以最多只显示11个汉字。
解决方法:进入dedecms的后台,在“模板管理”中的“标签源码管理",找到arclist.lib.php ,点击“编辑”,找到“$titlelen = AttDef($titlelen,30); ”条语句,把其中的30改为60或者更大的数值即可。当然你也可以在\include\taglib 这个目录中找到arclist.lib.php,然后同样的方法修改好,再传到你的空间。
 
——采集标题长度限制修改——
 
修改采集数据导入程序co_export.php
位置:dede/co_export.php 大概220行 (dede为默认管理目录)
改:
$mainSql = str_replace('@title@',cn_substr($title, 60),$mainSql); 
为:
$mainSql = str_replace('@title@',cn_substr($title,$cfg_title_maxlen),$mainSql);
 
——修改简略标题——
(织梦cms)DEDECMS中的“简略标题”,在默认情况下,简略标题长度为36个字符,即18个汉字。做为文章副标题,有可能不够用。这时,我们就需要再次手工修改DEDE的核心文件了:
解决办法:
1、修改数据库字段设置
用phpmyadmin登录数据库,找到dede_archives表,再找到shorttitle字段,将值由36修改为100。
注释:36为36个字符,相当于18个汉字长度,这里改为100,也就是50个汉字。(最高可设置为255字符,即为127个汉子)
2、修改核心文件
找到DEDE的管理后台目录(默认目录为/dede/),找到以下几个文件:
archives_add.php
archives_do.php
archives_edit.php
article_add.php
article_edit.php
可以通过网页编辑软件或者记事本批量替换里面的源代码。
$shorttitle = cn_substrR($shorttitle,36);
把36改成你需要的长度就可以了。如修改为100。完成以上两步后,修改就成功了
【注意:修改完之后如果前面发的文章的标题没有任何改变,标题还是显示不完整,需到后台重新设置文章的标题】

 

文章评论