演示系統(tǒng)及注意事項
演示系統(tǒng):dede5.7UTF8版本
注意事項:作者本文這里修改的最終效果就是內(nèi)容頁和專題頁的動態(tài)URL在使用arcurl調(diào)用時直接顯示的是url地址,另外織夢默認(rèn)專題是沒有跳轉(zhuǎn)的,作者這里簡單的二次開發(fā)了改成了可跳轉(zhuǎn),大家可參考解決dede專題模型沒有跳轉(zhuǎn)
dede動態(tài)跳轉(zhuǎn)修改為靜態(tài)url地址修改
第1步:打開arclist.lib.php文件。
45it網(wǎng)注:arclist.lib.php文件是dede的核心文件,此文件在“includetaglibarclist.lib.php”。
第2步:在打開的arclist.lib.php文件中全文搜索“$query”(位于第376行),并找到相應(yīng)的sql語句,修改為以下SQL語句并保存。
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語句解釋 上面語句比官方原來的多加了2個左聯(lián),分別左聯(lián)dede_addonspec和dede_addonarticle表,同時添加查詢這2個表的URL跳轉(zhuǎn)地址,上面的SQL語句是添加完后SQL語句。
第3步:再次全文搜索“$query”(位于第405行),找到這行sql語句,修改為以下sql語句并保存。
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']!=''){//判斷專題頁的跳轉(zhuǎn)是否為空,如果空就直接顯示靜態(tài)URL地址。 02. $row['filename'] = $row['arcurl']= $row['specurl']; 03.}else if($row['redirecturl']!=''){//判斷文章頁跳轉(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)代碼說明: 先判斷從第2 3步sql查詢出來的專題url是否為空,如果不是空的,就直接把arcurl替換為所填寫的地址,內(nèi)容也是這樣,最后如果全是空的,那么就是正常的文章了,就按官方默認(rèn)的url地址算就行了。
第5步:完成以上代碼并保存,上傳到服務(wù)器即可生效。
更多信息請查看IT技術(shù)專欄