您当前的位置: 主页 > 优化教程
一、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)

织梦DEDECMS5.7在列表页动态调用点击次数织梦DedeCMS中首页和列表页的文章点击次数默认情况下不是动态调用的... 2021-07-30
织梦DEDECMS在任意页面调用当前会员信息这几天一直研究dede的各种功能,自己也试着动手弄了一些,今天遇到要调... 2021-07-22
织梦dedecmsv5.x自动登录的实现方法本节内容: 织梦dedev5.x自动登录 实现步骤: 1,取消DEDE... 2021-07-27
DedeCMS百度结构化数据插件常见404跳转、重复域名网址、路径等问最近刚使用织梦DedeCMS百度结构化数据插件,但是在使用中却遇到了4... 2021-07-30
织梦内容页调用会员的其他文章用织梦做装修站WEB开发时,内容页经常会用到设计师和相关案例的匹配,方... 2021-07-22
织梦DEDECMS网站添加随机文章在织梦网站中添加随机文章的代码其实很简单,在DEDE默认文章内容页模板... 2021-07-27
DEDECMS“提交表单同系统配置不相符,请重新提交!”的解决方法解决会员中心编辑文章是出现的提交表单同系统配置不相符,请重新提交提示:... 2021-07-30
织梦dedecms自由列表freelist调用增加随机排序方式很多站长在用到织梦的自由列表功能时,会发现其排序方式比较单一,不能满足... 2021-07-22
织梦后台SQL批量修改文章标签语法使用DedeCMS建站会遇到这样的问题,采集来的文章有个小错误没修正,... 2021-07-22
织梦取消article标签调用隐藏栏目的文章很多用 织梦模板 建站的站长在用article标签调用全站的最新文章时... 2021-07-22
dedecms搜索页面不能使用arclist等标签的解决方法本文实例讲述了dedecms搜索页面不能使用arclist等标签的解决... 2021-07-30
dedecms简略标题(副标题)使用方法教程在常见的CMS系统中,我对dedecms算是比较熟悉的,自己网站用的也... 2021-07-30
教程:dede输出织梦全站RSS文件的方法织梦后台默认生成更新RSS文件是按照网站栏目生成告诉用户每个栏目的RS... 2021-09-16
织梦dedecms dede:arclist输出取消换行符织梦模板 在使用dede:arclist输出文档时,会自动有换行符,想... 2021-07-22
织梦去掉{dede:field.body/} 中的p元素我们在后台添加内容的时候,系统往往会自动增加P/P元素,特别是有些时候... 2021-07-27
dedecms各种数字统计SQL语句 包括评论条数,总文档数等等Dedecms技巧:dedecms各种数字统计SQL语句,今日更新:多... 2021-07-27

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