動(dòng)態(tài)的URL地址特別是dede系統(tǒng)默認(rèn)自帶的動(dòng)態(tài),都是使用script跳轉(zhuǎn)的,非常的惡心,正好作者也要修改這個(gè),就把dede默認(rèn)動(dòng)態(tài)跳轉(zhuǎn)到script的方法直接改成歌曲態(tài)的URL地址了,也就是大家在列表頁(yè)調(diào)用arcurl時(shí)直接顯示的是靜態(tài)URL地址,而不是動(dòng)態(tài)的plus/view.php?aid=1這樣的了。
演示系統(tǒng)及注意事項(xiàng)
演示系統(tǒng):dede5.7UTF8版本
注意事項(xiàng):作者本文這里修改的最終效果就是內(nèi)容頁(yè)和專題頁(yè)的動(dòng)態(tài)URL在使用arcurl調(diào)用時(shí)直接顯示的是url地址,另外織夢(mèng)默認(rèn)專題是沒(méi)有跳轉(zhuǎn)的,作者這里簡(jiǎn)單的二次開(kāi)發(fā)了改成了可跳轉(zhuǎn),大家可參考解決dede專題模型沒(méi)有跳轉(zhuǎn)
dede動(dòng)態(tài)跳轉(zhuǎn)修改為靜態(tài)url地址修改
第1步:打開(kāi)arclist.lib.php文件。
45it網(wǎng)注:arclist.lib.php文件是dede的核心文件,此文件在“includetaglibarclist.lib.php”。
第2步:在打開(kāi)的arclist.lib.php文件中全文搜索“$query”(位于第376行),并找到相應(yīng)的sql語(yǔ)句,修改為以下SQL語(yǔ)句并保存。
01.$query = "SELECT arc.*,spec.redirecturl as specurl,arcurl.redirecturl,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule, tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath $addfieldsSql FROM `$maintable` arc LEFT JOIN `dede_arctype` tp on arc.typeid=tp.id left join dede_addonspec spec on arc.id=spec.aid left join `dede_addonarticle` arcurl on arcurl.aid=arc.id $addfieldsSqlJoin $orwhere $ordersql $limitsql"; 45it網(wǎng)注:以上SQL語(yǔ)句解釋 上面語(yǔ)句比官方原來(lái)的多加了2個(gè)左聯(lián),分別左聯(lián)dede_addonspec和dede_addonarticle表,同時(shí)添加查詢這2個(gè)表的URL跳轉(zhuǎn)地址,上面的SQL語(yǔ)句是添加完后SQL語(yǔ)句。
第3步:再次全文搜索“$query”(位于第405行),找到這行sql語(yǔ)句,修改為以下sql語(yǔ)句并保存。
01.$query = "SELECT arc.*,spec.redirecturl as specurl,arcurl.redirecturl,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart, tp.moresite,tp.siteurl,tp.sitepath $addfieldsSql FROM `$maintable` arc left join `dede_arctype` tp on arc.typeid=tp.id left join `dede_addonspec` spec on arc.id=spec.aid left join `dede_addonarticle` arcurl on arcurl.aid=arc.id $addfieldsSqlJoin WHERE arc.id in($idlist) $ordersql "; 第4步:全文搜索“arcurl”一行代碼(第490行代碼處),只有一行代碼替換成以下幾行代碼并保存。
01.if($row['specurl']!=''){//判斷專題頁(yè)的跳轉(zhuǎn)是否為空,如果空就直接顯示靜態(tài)URL地址。 02. $row['filename'] = $row['arcurl']= $row['specurl']; 03.}else if($row['redirecturl']!=''){//判斷文章頁(yè)跳轉(zhuǎn)是否為空,如果為空就直接顯示靜態(tài)URL 04. $row['filename'] = $row['arcurl']= $row['redirecturl']; 05.}else{ 06. $row['filename'] = $row['arcurl'] = GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],$row['arcrank'],
$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']); 07.}
網(wǎng)代碼說(shuō)明: 先判斷從第2 3步sql查詢出來(lái)的專題url是否為空,如果不是空的,就直接把a(bǔ)rcurl替換為所填寫(xiě)的地址,內(nèi)容也是這樣,最后如果全是空的,那么就是正常的文章了,就按官方默認(rèn)的url地址算就行了。
第5步:完成以上代碼并保存,上傳到服務(wù)器即可生效。
更多信息請(qǐng)查看IT技術(shù)專欄