您当前的位置: 主页 > 优化教程
一、DEDE  修改默认文章命名规则
1、单独添加分类默认修改,修改文件:include/common.inc.php。
查找代码: 
//文档的默认命名规则
$art_shortname = $cfg_df_ext = '.html';
$cfg_df_namerule = '{typedir}/{Y}/{M}{D}/{aid}'.$cfg_df_ext;
更改为:
$art_shortname = $cfg_df_ext = '.html';
$cfg_df_namerule = '{typedir}/{pinyin}'.$cfg_df_ext;
 
2、批量添加分类默认修改,修改文件:dede/templets/catalog_add_quick.htm
查找代码:
<tr>
<td height="26" class='bline'>文章命名规则:</td>
<td class='bline'><input name="namerule" type="text" id="namerule" value="{typedir}/{Y}{M}{D}/{aid}.html" size="40" class="pubinputs" />
<img src="img/help.gif" alt="帮助" width="16" height="16" border="0" style="cursor:pointer" onClick="ShowHide('helpvar2')" /> </td> </tr>
更改为:
<tr>
<td height="26" class='bline'>文章命名规则:</td>
<td class='bline'><input name="namerule" type="text" id="namerule" value="{typedir}/{pinyin}.html" size="40" class="pubinputs" />
<img src="img/help.gif" alt="帮助" width="16" height="16" border="0" style="cursor:pointer" onClick="ShowHide('helpvar2')" /> </td> </tr>
 
二、DEDE  修改默认列表命名规则
1、单独添加分类默认修改,修改文件:dede/templets/catalog_add.htm
查找代码:
<tr>
<td height="26">列表命名规则:</td>
<td>
<input name="namerule2" type="text" id="namerule2" value="{typedir}/list_{tid}_{page}.html"  class="pubinputs"  style="width:250px" /> <img src="img/help.gif" alt="帮助" width="16" height="16" border="0" style="cursor:pointer" onClick="ShowHide('helpvar3')"/>
</td> 
</tr>
更改为:
<tr>
<td height="26">列表命名规则:</td>
<td>
<input name="namerule2" type="text" id="namerule2" value="{typedir}/{typedir}-{page}.html"  class="pubinputs"  style="width:250px" /> <img src="img/help.gif" alt="帮助" width="16" height="16" border="0" style="cursor:pointer" onClick="ShowHide('helpvar3')"/>
</td> 
</tr>
 
去除后面的文章ID
修改include/helpers/channelunit.helper.php中的:
$articleRule = str_replace('{pinyin}',GetPinyin($title).'_'.$aid,$articleRule);
$articleRule = str_replace('{py}',GetPinyin($title,1).'_'.$aid,$articleRule);
两行为:
$articleRule = str_replace('{pinyin}',GetPinyin($title),$articleRule);
$articleRule = str_replace('{py}',GetPinyin($title,1),$articleRule);
保存OK
 
2、批量添加分类默认修改,修改文件:dede/templets/catalog_add_quick.htm
查找代码: 
<tr>
<td height="26">列表命名规则:</td>
<td><input name="namerule2" type="text" id="namerule2" value="{typedir}/list_{tid}_{page}.html" size="40" class="pubinputs" />
 <img src="img/help.gif" alt="帮助" width="16" height="16" border="0" style="cursor:pointer" onClick="ShowHide('helpvar3')" />
</td>
</tr>
更改为:
<tr>
<td height="26">列表命名规则:</td>
<td><input name="namerule2" type="text" id="namerule2" value="{typedir}/{typedir}-{page}.html" size="40" class="pubinputs" />
 <img src="img/help.gif" alt="帮助" width="16" height="16" border="0" style="cursor:pointer" onClick="ShowHide('helpvar3')" />
</td>
</tr>
 
3、对于列表命名规则更改之后,子级栏目生成列表文件的时候会出错,不能创建文件,原因是{typedir}-{page}.html文件名里面重复了{typedir}的父目录
生成文件的路径就像 /parent/parent/sub-1.html,名字里面包含了一个“/”所以会出错,解决办法是:
 
 
打开include/arc.listview.class.php,找到323行代码:
$makeFile = str_replace("{page}", $this->PageNo, $makeFile);这里的$makeFile就是要生成的文件路径,处理一下就可以了。
在此行代码下面添加以下代码:
/*****自己添加的处理以{typedir}为列表命名规则时,去除生成列表文件名中重复了父目录的程序****/
if(strpos($makeFile,"//")>0){
 $tmpArr = explode("//",$makeFile);
 $makeFile = $tmpArr[0];
 if(strpos($tmpArr[1],"/")>0){
   $tmpArr1 = explode("/",$tmpArr[1]);
   $makeFile .= "/".$tmpArr1[1];
 }else{
   $makeFile .= "/".$tmpArr[1];
 }
}
/*****处理程序结束*****/
 
 
然后找到下面的:$list_1 = $this->GetTruePath().$onlyrule;代码,这个是要复制第一个列表文件为index的路径
同样在下面添加代码:
/*****自己添加的处理以{typedir}为列表命名规则时,去除生成列表文件名中重复了父目录的程序****/
if(strpos($list_1,"//")>0){
 $tmpArr = explode("//",$list_1);
 $list_1 = $tmpArr[0];
 if(strpos($tmpArr[1],"/")>0){
   $tmpArr1 = explode("/",$tmpArr[1]);
   $list_1 .= "/".$tmpArr1[1];
 }else{
   $list_1 .= "/".$tmpArr[1];
 }
}
/*****处理程序结束*****/
 
 
保存就OK。
 
列表页和文章页都采用拼音的URL形式了,
 
不是原来的list_1.html的形式,更有利于SEO优化搜索
 
主要是说明这个修改和处理的位置,可以根据自己需求进一步更改完善。
 
 
有时dede后台生成栏目列表页太多了时,没有生成完就退出循环,显示一片空白了。
原因是有可能代码执行时间不够,也有可能会是代码执行分配的内存不足。
修改方法是在代码开始执行前设置执行最大时间和内存:
set_time_limit(0); //设置代码执行最大时间为不限制
ini_set("memory_limit", 1048576000);  //设置内存限制为1G
以上设置只对本次程序运行有效。
 

关键词:DEDE,织梦,文章,和,列表,页,均,使用,拼音,使之,    标签:
    更多资讯请收藏关注 网站模板(www.1yc.cn)

DEDECMS登录织梦后台的验证码错误问题的解决教程方法1 :空间商那边看看php版本,推荐使用php5.4 方法2 :可... 2021-07-22
织梦tag标签列表按发布时间排序的方法搜索引擎对TAG十分重视,网站tag页面被收录,也能带来流量,解决织梦... 2021-07-22
dedecms轻松三步搞定游客投稿dedecms如何搞定游客投稿;很多时候怕麻烦;需要让游客投稿;而且无... 2021-07-30
dedecms 模板文件不存在,无法解析文档 解决方法一。首先打开:/incluede/arc.archives.class... 2021-07-27
织梦dedecms文章标题栏突破60个字符限制本文介绍了织梦dedecms文章标题栏突破60个字符限制的实现方法,怎... 2021-07-27
dedecms无法更新文章空间超限或者权限导致dedecms生成文章报500昨天我小不点早上起来更新窍门天下的文章,结果添加第一条的时候就出错了,... 2021-08-09
dedecms教程:增加栏目图片banner或栏目图片备注:这个对utf8编码有效,gbk需要转码! 首先给每个子栏目增加一... 2021-09-06
修改DedeCMS交情链接的字数、数目限定今天在事变中碰着一个题目,那就是织梦CMS体系默认的配置下,交情链接无... 2021-07-22
织梦删除自定义字段变量的方法大家在使用织梦dedecms的过程中,通常都会进行自定义字段变量的添加... 2021-07-27
dedecms怎么实现文章标题-栏目名称-网站名导航本文介绍了在dedecms中,实现文章标题-栏目名称-网站名 导航的方... 2021-07-27
dedecms织梦模板 调用栏目下的文章总数的方法第一种是调用栏目id的带链接的 这里用到 channel|频道标签语法... 2021-07-22
织梦dedecms实现单页面自动更新文章自动更新dedecms的所有单页面 实现方法 在后台目录的task_d... 2021-07-27
Dedecms待审核的文章也会在列表页显示解决办法解决办法一 这种办法有朋友说有效,但我的dedecms5.6修改是没有... 2021-07-27
织梦DEDECMS修改模板默认扩展名为.html的教程织梦默认的模板是.HTM后缀的文件才可以用,其实也可以用.HTML来做... 2021-07-22
最新织梦DEDECMS V5.7模板标签调用大全-----------------------------------... 2021-07-27
织梦dedecms5.7栏目列表首页与第一页重复的解决办法今天有位站长来咨询小编,他说用dedecms5.7建的站,最近发现栏目... 2021-07-27
织梦标题多余字节限制自动加省略号的实现方法下面的标题列表,最长的标题50字节,只想显示30字节,模板代码如下: ... 2021-07-22

线
咨询热线:
135-0038-3336
在线客服:
点击这里给我发消息
微信交流:
公司官网: www.1yc.cn