dedemcs文章和列表页均使用拼音方法

织梦教程 强烈建议 2024-02-06 13:40 115 0

  一、dedecms修改默认文章命名规则

  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

  查找代码:

  

  文章命名规则:

  

  dedemcs文章和列表页均使用拼音方法

  更改为:

  

  文章命名规则:

  

  dedemcs文章和列表页均使用拼音方法

  二、dedecms修改默认列表命名规则

  1、单独添加分类默认修改,修改文件:dede/templets/catalog_add.htm

  查找代码:

  

  列表命名规则:

  

   dedemcs文章和列表页均使用拼音方法

  

  

  更改为:

  

  列表命名规则:

  

   dedemcs文章和列表页均使用拼音方法

  

  

  去除后面的文章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

  查找代码:

  

  列表命名规则:

  

  dedemcs文章和列表页均使用拼音方法

  

  

  更改为:

  

  列表命名规则:

  

  dedemcs文章和列表页均使用拼音方法

  

  

  3、对于列表命名规则更改之后,子级栏目生成列表文件的时候会出错,不能创建文件,原因是{typedir}-{page}.html文件名里面重复了{typedir}的父目录

  生成文件的路径就像 /parent/parent/sub-1.html,名字里面包含了一个“/”所以会出错,解决办法是:

  打开include/arc.listview.class.php,找到323行代码:

  $makeFile=str_replace("{page}", $this->PageNo, $makeFile);这里的$makeFile就是要生成的文件路径,处理一下就可以了。

  在此行代码下面添加以下代码:

  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的路径

  同样在下面添加代码:

  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

  以上设置只对本次程序运行有效。



时间:(2024-02-06 13:40:34)
本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!