迅睿CMS如何设置多个内容页:给内容创建多个模板和地址

文章详情

目标需求:

默认一篇内容只有一个地址和模板,就如【show-123.html】,这种地址表示内容详情页面;如果还需要为这个内容创建多个页面,例如【show-123-two.html】等。


实现原理:

使用新建控制器的方式来做新url地址构成。


实现方法:

1、以news模块为例,复制原有文件dayrui/App/News/Controllers/Show.php

2、粘贴为Two.php,内容做一下变更:

_module_init();
        $data = $this->_Show(
            (int)\Phpcmf\Service::L('Input')->get('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')),
            1
        );
        
        // 这里指定新的模板
        \Phpcmf\Service::V()->display("show_two.html");
    }


}

3、默认访问地址就是这样:

/index.php?s=news&c=two&id=123

4、设置【show-123-two.html】格式的伪静态,打开config/rewrite.php追加:

"show\-([0-9]+)\-two\.html(.*)"  => 'index.php?s=news&c=two&id=$1',


需要多加文件的话,可以重复【1~4】的步骤,并重新把two进行命名,改名字即可。

收藏:0
来源:网站建设网

版权:所有文章为演示数据,版权归原作者所有,仅提供演示效果!

转载请注明出处:https://www.wzjianshe.com/eckf/6166.html

相关推荐
迅睿CMS如何获取数据POST和GET写法
迅睿CMS如何获取数据POST和GET写法:1、$_GET写法\Phpcmf\Service::L('input')->get('变量名'); // 会进行xss安全过滤\Phpcmf\Service::L('input')->get('变量名', false); ...
2024-11-11
67
迅睿CMS在后台列表增加链接二维码的功能
可以用于查验等场景中,生成一对一二维码,扫码进行结果查验。修改细节本教程基于XunRuiCMS官方免费版,如果您的是官方OEM版本,请根据自己定制路径修改。本次使用了jquery.qrcode.min.js组件,未改动PHP系统文件。具体页面路径为dayrui/Fc...
2024-11-11
118
迅睿cms如何使用自定义字段作为内容url?
使用迅睿cms时,可能会遇到类似需求,比如我自定义了一个编号字段为:bianhao,然后将这个字段作为url链接的关键字。实例:实际的链接地址:/news/编号.html欲实现链接地址:/news/ss0001.html1、首先创建字段,这个就不用讲,cms的基础功...
2024-11-11
131
迅睿CMS发送手机验证码开发教程
用在二次开发时,处理验证码发送程序,适合精通php的程序员模板代码: 图片验证 {dr_code(120, 35)} 短信验证 获取手机验证码 id传递手机号码程序判断部分:$code = \Ph...
2024-11-10
98
发表评论