做织梦系统的MIP开发改造时,需要实现获取当前列表页和内容页的链接,在网上找了一会,看有没有成品代码可抄,找来找去,都是不如意的,还有一些也实现不了。
花一会功夫,还是自己写一个吧,找代码比写代码用时还长呢。
把代码加到 /include/helpers/extend.helper.php 文件最后。
经实际应用的项目是全站静态页面的环境,其它环境(如果动态页面,或者是伪静态页面)未测试,使用时请注意观察
if ( ! function_exists('itemCurUrl')){/*** 获取当前列表页或内容页的URL* 未经大量测试,一定会有不如意的地方,使用时注意测试观察** 列表页使用方法:* {dede:field.id runphp='yes'}@me=itemCurUrl(@me,'list');{/dede:field.id}* 内容页使用方法:* {dede:field.id runphp='yes'}@me=itemCurUrl(@me,'view');{/dede:field.id}** @param int $id 列表ID或文章ID* @param string $type 分类,list:列表页,view:内容页* @return string*/function itemCurUrl($id, $type='list') {global $dsql;if($type == 'list'){$sql = "SELECT * FROM `dede_arctype` WHERE `id`='$id' ";$info = $dsql->GetOne($sql);$url = GetOneTypeUrlA($info);return $url;}else{$arr = GetOneArchive($id);if(!empty($arr['ismake'])){ // 静态页面return $arr['arcurl'];}else{ // 动态页面return '/plus/view.php?aid='.$arr['aid'];}}}}
如果是标签页面(/tags.php)要获取当前链接,则使用如下方式调用:
{dede:geturl runphp='yes'} @me = GetCurUrl(); {/dede:geturl}