DedeCMS动态跳转修改为静态url地址的方法

你的心应该保持这种模样,略带发力的紧张,不松懈,对待不定有坦然。损伤是承载,沉默是扩展。终结是新的开始。如此,我会为你的心产生敬意。

动态的URL地址特别是织梦dedecms系统默认自带的动态,都是使用script跳转的,非常的恶心,因为需要也要修改这个,就把织梦模板默认动态跳转到script的方法直接改成静态的URL地址,也就是大家在列表页调用arcurl时直接显示的是静态URL地址,而不是动态的plus/view.php?aid=1这样的了。

注意事项:作者本文这里修改的最终效果就是内容页和专题页的动态URL在使用arcurl调用时直接显示的是url地址,另外织梦默认专题是没有跳转的,

作者这里简单的二次开发了改成了可跳转,大家可参考解决织梦dedecms专题模型没有跳转 。

dede动态跳转修改为静态url地址修改

第1步:打开arclist.lib.php文件。

注:arclist.lib.php文件是dede的核心文件,此文件在“include\taglib\arclist.lib.php”。

第2步:在打开的arclist.lib.php文件中全文搜索“$query”(位于第376行),并找到相应的sql语句,修改为以下SQL语句并保存。

	
	$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";
	

注:以上SQL语句解释 上面语句比官方原来的多加了2个左联,分别左联dede_addonspec和dede_addonarticle表,同时添加查询这2个表的URL跳转地址,上面的SQL语句是添加完后SQL语句。

第3步:再次全文搜索“$query”(位于第405行),找到这行sql语句,修改为以下sql语句并保存。

	
	$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行代码处),只有一行代码替换成以下几行代码并保存。

	
	if($row['specurl']!=''){//判断专题页的跳转是否为空,如果空就直接显示静态URL地址。 
	$row['filename'] = $row['arcurl']= $row['specurl'];
	}else if($row['redirecturl']!=''){//判断文章页跳转是否为空,如果为空就直接显示静态URL 
	$row['filename'] = $row['arcurl']= $row['redirecturl'];
	}else{
	 $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']);
	}
	

代码说明: 先判断从第2 3步sql查询出来的专题url是否为空,如果不是空的,就直接把arcurl替换为所填写的地址,内容也是这样,最后如果全是空的,那么就是正常的文章了,就按官方默认的url地址算就行了。

第5步:完成以上代码并保存,上传到服务器即可生效。

到此这篇关于DedeCMS动态跳转修改为静态url地址的方法就介绍到这了。有些人生来是为了赶路的…完成学业事业结婚生子,一切有条不紊按部就班,匆匆忙忙在前三十年生命里就完成了大部分任务,再用剩下的时间去修补与忍耐,并学着苦中作乐。而有些人的人生任务可能只完成了一半,但他们却看了别人几辈子才能看到的风景,你不能说任何一种选择是错。真的,自己开心就好。更多相关DedeCMS动态跳转修改为静态url地址的方法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
织梦后台文档列表添加复制文档功能支持所有模型

织梦无法上传ico图标格式文件的如何解决方法

dedecms如何实现任意页面调用当前会员信息的方

织梦dede:tag调用指定多个栏目的TAG标签

织梦栏目列表按附加表自定义字段排序