业务经理

微信扫描以上二维码

028-61286886

技术咨询

内容页链接也实现了标题转拼音,怎么写伪静态规则

迅睿框架 更新 2019-05-13 00:24:34 lolian2

目的实现自定义内容页url

image.png

image.png

函数代码写好,如下:

image.png

前台url解析出来,内容页链接也实现了标题转拼音

image.png


最后问题来了,伪静态规则不知道怎么写。求助大神~

image.png

方案

  • 平平 #1 · 2019-05-12 19:39:54
    你这个函数需要优化,title已经存在于data,为什么还要查询一次,多此一举了
  • lolian2 #2 · 2019-05-12 19:46:12
    平平是的我也注意到了~ 多查一次数据库,这个不影响。问题是伪静态规则不知道该怎么写?
  • 易学习 #3 · 2019-05-12 20:28:48

    image.png
    这个伪静态没办法直接查询,因为wang.....kan这几个字符并没储存到数据库,就没办法直接查询了,只能这样办,把数据库记录全部查询出来,再循环遍历,然后一个个的对比title的配音字符,比较消耗资源,数据一旦多了,访问相当缓慢我建议的方案是 专门建一个自定义字段来储存wang...kan这几个字符,然后再一次性查询这几个字符的记录
  • lolian2 #4 · 2019-05-12 20:37:58
    易学习如果是新建一个字段来做url伪静态,类似{dirname}这样的、 个人觉得官方出这个自定义函数方法就有点多余了~感觉要用到Routes.php,目前关于自定义函数url这一块文档资料少。感谢回复~
  • 易学习 #5 · 2019-05-12 20:51:28
    我知道怎么做了,你用了自定义函数,这就好办了,改进一下自定义函数就行,解析规则也需要改一下配置,不难
  • lolian2 #6 · 2019-05-12 21:13:51
    易学习分享下
  • 黄老邪 #7 · 2019-05-12 21:19:19
    满意答案
    1、这里需要改进
    image.png
    在return之前 加一句 \Phpcmf\Service::L("L")->set_file("xs_news_".$pinyin, $data['id'], "xs_news");2、这个是对的,可以这样写
    image.png
    3、打开news模块文件dayrui/App/News/Controllers/Show.php
    <?php namespace Phpcmf\Controllers;
    
    /**
     * 二次开发时可以修改本文件,不影响升级覆盖
     */
    
    class Show extends \Phpcmf\Home\Module
    {
    
        public function index() {
            $this->_module_init();
            $id = \Phpcmf\Service::L('Input')->get('id');
            if ($cid = \Phpcmf\Service::L("L")->get_file("xs_news_".$id , "xs_news")) {
                $id = $cid;
            }
            $this->_Show(
                (int)$id,
                [
                    'field' => dr_safe_replace(\Phpcmf\Service::L('Input')->get('field')),
                    'value' => dr_safe_replace(\Phpcmf\Service::L('Input')->get('value')),
                ],
                max(1, (int)\Phpcmf\Service::L('Input')->get('page'))
            );
        }
    
        public function time() {
            $this->_module_init();
            $this->_MyShow(
                'time',
                (int)\Phpcmf\Service::L('Input')->get('id'),
                max(1, (int)\Phpcmf\Service::L('Input')->get('page'))
            );
        }
    
        public function recycle() {
            $this->_module_init();
            $this->_MyShow(
                'recycle',
                (int)\Phpcmf\Service::L('Input')->get('id'),
                max(1, (int)\Phpcmf\Service::L('Input')->get('page'))
            );
        }
    
        public function draft() {
            $this->_module_init();
            $this->_MyShow(
                'draft',
                (int)\Phpcmf\Service::L('Input')->get('id'),
                max(1, (int)\Phpcmf\Service::L('Input')->get('page'))
            );
        }
    
        public function verify() {
            $this->_module_init();
            $this->_MyShow(
                'verify',
                (int)\Phpcmf\Service::L('Input')->get('id'),
                max(1, (int)\Phpcmf\Service::L('Input')->get('page'))
            );
        }
    
    }
  • 黄老邪 #8 · 2019-05-12 21:21:00
    笔误 \Phpcmf\Service::L("L")改成 \Phpcmf\Service::L("cache")
  • 易学习 #9 · 2019-05-12 22:10:27
    楼上可以,和我的思路差不多
  • lolian2 #10 · 2019-05-12 22:54:05
    黄老邪自定义函数
    image.png
    News控制器Show.php文件
    image.png
    伪静态规则

    image.png
    调试再三还是
    image.png
  • lolian2 #11 · 2019-05-12 23:42:00
    问题还是在伪静态这里
    image.png
    一个是id一个是拼音 不相等了所以url没用上这一条规则,传不了参数值~
  • lolian2 #12 · 2019-05-13 00:23:33
    修改这个文件/dayrui/Core/Controllers/Show.php 问题解决~
  • lolian2 #13 · 2019-05-13 00:24:34
    @黄老邪:利用缓存的思路很不错~

迅睿系统漏洞

独立站群系统
独立站群系统(2026-09-14)
子站独立部署时修复同步附件失败问题
在线客服
在线客服(2026-09-13)
修复删除会话报错问题 删除会话时联动删除聊天图片
在线考试竞赛系统
在线考试竞赛系统(2026-09-12)
增加投票功能 考试功能拓展 注意:更新后需要执行系统更新,更新数...
网上信箱
网上信箱(2026-09-12)
修复新版本兼容问题
GeoSeo收录宝
GeoSeo收录宝(2026-09-12)
1 优化Update.php文件,解决版本在线升级不完整问题 2 ...
GeoSeo工具箱
GeoSeo工具箱(2026-09-11)
修正历史记录推送
微信系统
微信系统(2026-09-11)
增加数据统计总览界面 账号管理增加服务和公众号的区别 菜单管理支持更...
答题系统
答题系统(2026-09-11)
一站式在线答题系统,支持真题考试、题库练习和错题本,适合培训、考证、...
阿里云滑动验证码
阿里云滑动验证码(2026-09-10)
采用阿里云验证码替换迅睿系统自带的图片验证码和滑动验证码。后台设置方...
下载Plus
下载Plus(2026-09-09)
为网站附件下载加上“计数、限次、统计、防护”四重能力:按用户组控制下...