dedecms增加自定义文件名功能

为了更好地实现SEO功能,为了广大的DEDE爱好者不再大伤脑筋,这两天抽了点时间把此功能弄出来跟大家分享。

以下修改能实现DEDE自定义网页文件名的功能,例如:

zi-ding-yi.html/zidingyi.html/defined-pagenaY V U f z y 2 P Wme.html/自定义某某某.html 等
(反正你填什么就是什么,除了短横6 z 7 [ V b j e杠连词符L l T x %号 -,最好别乱填其它特殊符号特别是单、双引号、空格等,以免出错)。
如果你不填自定义文件名,则默认为文章的aid,如:
138.html/65.html 等。

以下皆以文章P z C N ) H i H –模型为例作修改。9 7 A 7强烈建议初学者在对文件进行修改前备份Z y 3之。

以下为针对 DEDE VQ ) } M K E o5 的修改:
==========a ] 9 !====\ 8 @ V |===============================7 i k o T q========================

1、在 后台 频道管理 -> 修改栏目(或者增加栏目) -> 高级选项 -> 文章命名规则:

把 {typedir}/{Y}{M}/{D}-{aid}.html 修改成 {typedir}/{+ ! n Kaa}.html
({aa} 用来接收自定义文_ @ R J _ J X =件名。因个人不大喜欢年月日之类的,所以把{Y}、{M}、{D}、{aid}等都f j 7去掉了,你喜欢的话,自己加上, c 1 v A o O 9 P即可)

2、修改数据库表 dede_archives 增加 pagename 字段 varchar 100 (100够用了,如果不够用,自己改大(255之内)即可j \ , r [ +

在 后台 -> 功能菜单 -> SQL命令运行器 中输入: A $ ! M Z !
altL l Q u { ?er table dede_archives a\ x r ? |dd column pagename varL = F Echar(100);
按确定执行即可。

3、增加对 {aa} 的处理:

修改Z o t Q 3 d I Q文件:include/inc_channel_unix ? 0 z 7 – ~ jt_functions.php
把大约73行的:% 9 g T [
$articleRule = str_replace(“{cc}”,dd2char($. v 1 # 6m.$d.$aid.$y),$articleRule);
改为:
$articleRule = str_replace(“{aa}”,GetPagename($aid),$articleRule);
(因为{cc}实在没什么用,扔掉得了)

4、针对上面 GetPagename($aidX B t ? 1 1) 的处理:

修改文件: include/P p s _ H ~inc_functions.php
在文件最后O 0 ( a E # g J J ?> 前加入以: ? 7 $ 7下函数:

//获取自定义文件名的函数r A M |,检测如果输入了自定义文件名则文件名^ g K t h h k B |为所输入的,否则默认为文章的aiH z 1 W f u 4 Cd
function GetPagenameq M v($dd){
$sql = “select pagename fr| \ R l { ]om dede_archives where id = ‘$dd'”;
$dsql = new DedeSql(fc ^ w y `alse);
$row = $dsql->GetOne($sql);
$pagD v `enu c { m B Z name = $row[“pagename1 x H“];
if($pagename!=x l e“”){
$pagename = $pagename;
}else{
$page9 U ) G $ v l @ ename = $dd;
}
return $pagename;
}

5、修改文章添加和修改页面,在里面加入 pagc # i e $ename 的 input

(1)修改文件:dede/templetL J 7 %s/article_add.htm

在:
<tr>
<td height=”24″ class=”bline”>
<table width=”800″ border=”0″ cellspacing=”0″ cellpadding=“0”>
<tr&W ( ? m , m ! U ;gt;
<td width=”90″> Tag标签:</td&gt;
<td>
<input name=”tag” type=”text” id=”tag” value=””>
(用空格或’,’分开)
</td>
</tr>
</table>
</td>
</tr&gt# ) !;
前加上:

&lv w Ct;!– 自定义文件名开始 —>
<tr>
<td height=“24″ class=”bline”>W P @ n `
<table width=”800″ border=”0″ cellspacing=”0″ cellpadding=”0″>
<tr>
<td width=”100″> 自定义文件名:v n \ + ` m = L 9&I Y I H P Ilt;/td>
&N b w C _lt;td width=”650″>&1 O = v ; N ilt;input name=”pagename” type=”text” id=”pagename” maxlength=”100″ /></td>
</tr>
</table>
</td>
</tr>
<!– 自定义o l – z文件名结束 –>

(2)修改文件:dede/templets/article_edit.htm

在:
&lt;tr>
<td height=”24″ class=”bline”>B b 5 ~ 5 m F ]
<table widX X { _ L # _ I Uth=”800″ border=”0″ cellspacing=”0″ cellpadding=”0″>
&lt;tr>
&lt;td width=”90″&gU 4 – wt; Tag标签:</td>
<td>
<input name=”oldtag” type=”hidden” id=”oldtag” value=”<?pC ) + V a \ Ahp echo $taW j i r L , # L Ggs; ?>” />
&lt;inputs ! x s : 4 name=”tag” type=”text” id=”tag” value=”<?php echo $tags; ?>” />
(用空格或’,’分开)
</td= : N X # R n>
</tr>
</table>
</td&gt9 r !;
</tu R % = x f s [ `r>

前加上:

<!– 自定义文件名开始 –>
&lX ] 3 :t;tr&gt;
&lt;td height=”24″ class=”bline“>
&lt;table width=”89 t z o + B h00″ border=”0″ cellspacing=”0″ cellpadding=”0″&gg } N S 1 ft;9 ~ –
<tr>
&d } W 5 x p \ , \lt;td width=”100″> 自定义文件名:</td>
<td width=”650″><input name=”pagename” typeG ` \ ~ w O * ] i=”text” id=”pagename” maxlength=”100″ value=”<?php echo $arcRow[“pagename”]?>” /></td>
&lt;/tr>
</m d U 6 B M K $table>
</td>
</tr>
<!– 自定义文件名结束 –>

6、修改文章! L U x ? & [ 3 %添加和修改| ! |的处理页面,对 form 里提交的 pagZ i 9 @ x w Iena2 } T / Pme 进行处理

(1)修改文件: dede/action/article_add_action.php

 A、在 $title = cn_substr($title,80); 下面增加一行 $pagename = trim($pagename);
 B、) g J q J ) _ ( j在下面增加以下红色部分(看准颜色)。
//加入数据库的SQL语句
//———-r $ h b / 9 # y————} ~ o i v————
$inQuery = “INSERT INTO `{$cts[‘maintable’]}`(
ID,typeid,tyc % J K A Lpeid2,sortrank,iscommend,ismake,channel,
arcrank,click,money,title,shorttitle,color,writer,source,reader,litpic,
pubdate,senddate,arcatt,adminID,memberID,d[ T w v |escription,keywords,templet,redirectuC Z C @ nrl,l1 ? 4 A ` H M o 7ikeid,pagename)
VALUES (‘$arcID’,’$typeid’,’$tyk J \ \ ? 0 n O zpeid2′,’$sortc & : C 8 . x Urank’,’$iscommend‘,’$ismake’,’$cy * M 8hannelid’,
‘$arcrank’,’0′,’$money’,’$titJ B ! v R Nlm & h v k Ge’,’$shorttitle’,’$color’,‘$writer’,’$s9 ! t K x U s xource’,’$rx = d R e ^ O * ?eader’,’$litpic’,
‘$pubdate’,’$senddate’,’$arcatt‘,’$admi? z P l ? ? 7 &nID’,’0′,’$description’,’$keywords’,’$templet’,’$redirecturl’,’$likeid’,’$pagename’);”;

(2)修改文件: dede/action/article_eidt_action.php

 A、在 $title = cn_substr(Q M d a W 3$title,80); 下面6 K ! a m e增加一行 $pagename = trim($pagename);
 B、在下面增加以下红色部分(看准颜色)。
//更新数据库的SQL语句
//——————z K C h t s————-
$inQuery =
update `{$aTables[‘maintable’]}` s9 p 6 T c |et
typeid=’$t! j 8 c Xypeid’,
typeid2=’$typeid2′,
sortrank=’$sortrank’,

redirecturl=’z _ j 2 1 x |$red; X @i2 x F R x X S F ~recturl’,
iscommend=’$iscommend’,
ismake=’$ismake’,
arcrank=’@ F g b $ 5 R c$arcrann 5 * w m B L s @k’,
money=’$money’,
title=’$@ ? / b x s 4title’,
color=’$color’,
wrZ . g / Y @ hiter=’$writel K m _ @ ) g ! jr’,
source=’$source’,
readerP H + q a B d n=’$reader’,
litpic=’$litpic’,
pubda& V s P 2 N dte=’$pubdate’,
description=’$description’,
keyw} = q X ^ [ ,ords=’$keywords’,
templh , b N ( 8et=’$templet’,
shorttitle=’$shorttitle’,
arcatt=’$ar] C Xcatt’,
likeid=C c l‘$likeid’,
pagename =w t q l ) R S Y 0 ‘$pagename’
where ID=’$ID’; “;

7、测试发文章,生成html,大功告成。

给TA打赏
共{{data.count}}人
人已打赏
CMS教程

DEDE真的安全性很差吗?

2021-4-14 0:23:34

CMS教程

dedecms调用分类及分类下文章的调用办法

2021-4-14 12:21:45

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索