分享

discuz 手机版伪静态

 无心是道馆 2020-11-12

前两天发布的这篇文章发现内容与实际情况不太相符特来更改,请多多包涵

网上有些现成的插件 价格却并不亲民(一个简简单单的伪静态插件居然标价三百,我也是醉了) 我就在想 伪静态翻来覆去不就那么点东西吗 你能做我就做不了啦?

在此帮各位仍有相同需求的同仁指条明路 帮大家节约点时间和金钱

开始正文

首先我的环境是linux+nginx组合

关于伪静态的规则设置
这里写图片描述
在此说明下 在进行了 1 2步骤之后 如果第3步需要调整的话 就调整 不需要就保持默认 记住后面的可用要处于勾选状态才行 然后点击第4步的查看rewite规则 把对应规则放到对应配置文件中

我之所以说这里的规则是因为有的人PC端伪静态都还没设置好 就像搞手机端 算是验证一下吧 保证正常该做的都做了
然后接下来

敲黑板重点来了
在./source/function/function_portal.php 文件中
搜索fetch_article_url
在大约53行左右会看到 这个方法
然后整个复制在下方新建一个方法名字改掉

//原方法
function fetch_article_url($article) {
    global $_G;
    if(!empty($_G['setting']['makehtml']['flag']) && $article && $article['htmlmade']) {
        if(empty($_G['cache']['portalcategory'])) {
            loadcache('portalcategory');
        }
        $caturl = '';
        if(!empty($_G['cache']['portalcategory'][$article['catid']])) {
            $topid = $_G['cache']['portalcategory'][$article['catid']]['topid'];
            $caturl = $_G['cache']['portalcategory'][$topid]['domain'] ? $_G['cache']['portalcategory'][$topid]['caturl'] : '';
        }
        return $caturl.$article['htmldir'].$article['htmlname'].'.'.$_G['setting']['makehtml']['extendname'];
    } else {
        return 'portal.php?mod=view&aid='.$article['aid'];
    }
}
//新建方法 重点是在这个方法里 修改返回的链接
function fetch_article_murl($article) {
    global $_G;
    if(!empty($_G['setting']['makehtml']['flag']) && $article && $article['htmlmade']) {
        if(empty($_G['cache']['portalcategory'])) {
            loadcache('portalcategory');
        }
        $caturl = '';
        if(!empty($_G['cache']['portalcategory'][$article['catid']])) {
            $topid = $_G['cache']['portalcategory'][$article['catid']]['topid'];
            $caturl = $_G['cache']['portalcategory'][$topid]['domain'] ? $_G['cache']['portalcategory'][$topid]['caturl'] : '';
        }
        return $caturl.$article['htmldir'].$article['htmlname'].'.'.$_G['setting']['makehtml']['extendname'];
    } else {
        //在这里修改返回链接 因为我是在模版里修改了返回链接所以此处只需要调用文章id
        //你也可以在此处拼接好直接返回 在手机版模版中直接修改调用方法名即可
        //例如 return 'article-'.$article['aid'].'-1.html';这样更为方便一些
        return $article['aid'];
    }
}

然后找到对应的手机模版
我的是触屏版 对应地址是 ./template/启用的风格模版名称/touch/portal(门户)/页面模版(首页是index.php栏目列表是list.php) 然后搜索找到fetch_article_url这个方法把名字改成上面新建的方法 保存FTP上传
最后清除模版缓存 刷新页面即可
如果没有启用门户 论坛的修改也是大同小异 网上也有很多相关内容
如果还有疑问 欢迎通过快问咨询

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多