欢迎来到元素模板www.ys720.com,本站提供专业的织梦模板网站模板ASPCMS模板网站修改/网站仿站
当前位置:主页 > 程序教程 > DEDECMS教程 >
DEDECMS教程

织梦DEDECMS列表页、内容页获取当前页面链接

(元素模板) / 2020-10-20 13:31

织梦系统的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}

Copyright @ 2013-2021 元素模板 www.ys720.com All Rights Reserved. 版权所有 元素模板 www.ys720.com