做织梦系统的MIP开发改造时,需要实现获取当前列表页和内容页的链接,在网上找了一会,看有没有成品代码可抄,找来找去,都是不如意的,还有一些也实现不了。
花一会功夫,还是自己写一个吧,找代码比写代码用时还长呢。
把代码加到 /include/helpers/extend.helper.php
文件最后。
经实际应用的项目是全站静态页面的环境,其它环境(如果动态页面,或者是伪静态页面)未测试,使用时请注意观察。如果有问题需要帮助的话,可以联系我。
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
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 `#@__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)要获取当前链接,则使用如下方式调用:
0 |
{dede:geturl runphp='yes'} @me = GetCurUrl(); {/dede:geturl} |