魔扣论坛

魔扣源码论坛业务
查看: 438|回复: 3

[织梦教程] dedemcs文章和列表页均使用拼音方法

[复制链接]
  • TA的每日心情
    无聊
    17 小时前
  • 签到天数: 2949 天

    [LV.Master]开坛老将

    7万

    主题

    227

    回帖

    27万

    积分

    管理员

    Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

    魔扣币
    745527
    贡献
    157859
    威望
    32799

    最佳新人活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2020-1-30 17:14:16 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    一、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
    查找代码:
    <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" /> </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" /> </td> </tr>

    二、dedecms修改默认列表命名规则
    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"/>
    </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"/>
    </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" />
    </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" />
    </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
    以上设置只对本次程序运行有效。

    会员购买:>> 点击购买 << | 魔扣币购买:>> 点击购买 <<
    承接业务:服务器代维丨网站托管丨SEO
    联系客服:微信:morko-net | QQ:1367681973

    该用户从未签到

    2

    主题

    256

    回帖

    514

    积分

    高级魔扣

    Rank: 4

    魔扣币
    256
    贡献
    256
    威望
    0
    发表于 2020-1-30 20:19:57 | 显示全部楼层
    一颗真诚的心,借助这漫漫的网络星空,在友情纯真彼此交往的日子里,寄上心花一瓣,这瓣带露的心花,将装点您多彩的生活,也愿自己的留言化作一缕清风,轻轻地吹走您的疲乏和繁忙,魔扣源码论坛祝好友顺心如意!开心快乐!

    该用户从未签到

    1

    主题

    248

    回帖

    497

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    248
    贡献
    248
    威望
    0
    发表于 2020-4-2 22:56:38 | 显示全部楼层
    为了三千积分!

    该用户从未签到

    2

    主题

    242

    回帖

    486

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    242
    贡献
    242
    威望
    0
    发表于 2020-7-31 17:01:50 来自手机 | 显示全部楼层
    好,很好,非常好!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表