限时优惠
特惠进行中

月费会员45元

年费会员88元

终身会员288元(送展示平台)

Xunruicms下载站实现内容页点击下载链接后跳转新页面并带下载链接 (迅睿cms给内容创建多个内容页)

Xunruicms下载站实现内容页点击下载链接后跳转新页面并带下载链接 (迅睿cms给内容创建多个内容页)
迅睿CMS教程

2025-10-31 0浏览

文章详情

前景:客户做了一个下载站,具有下载功能

需求:点击下载后不是直接下载,而是跳转到一个新页面展示标题+密码+下载链接


多方位需求拓展:


1、企业站产品内容页点击在线留言跳转到一个新的页面,记录当前产品信息并提交留言

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


实现原理:


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


实现效果图:



如何让 Xunruicms 下载站内容页点击后跳转新页面带下载链接 (迅睿cms给内容创建多个内容页)

如何让 Xunruicms 下载站内容页点击后跳转新页面带下载链接 (迅睿cms给内容创建多个内容页)

实现方法:

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


2、粘贴为Two.php,里面内容替换下:

<?php namespace Phpcmf\Controllers;

/**
 * 二次开发时可以修改本文件,不影响升级覆盖
 */

// 这里改成和文件名一样的名字
class Two extends \Phpcmf\Home\Module
{

    public function index() {
        $this->_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',


5、前端html代码标签跳转链接进行修改

非内容页改为:

/index.php?s=你的模块名称&c=two&id={$t.id}


内容页改为:

/index.php?s=你的模块名称&c=two&id={$id}


示例:(客户的下载站模块名称为fuzhu)

列表页:/index.php?s=fuzhu&c=two&id={$t.id}

内容页:/index.php?s=fuzhu&c=two&id={$id}

在线客服
PB2345模板网微信客服
微信客服

工作日 8:30-12:00 14:30-18:30

PB2345模板网微信客服
PB2345模板网微信客服 微信客服
PB2345模板网微信客服 微信客服
PB2345模板网置顶按钮
PB2345模板网登录弹窗