迅睿cms制作模板演示页(给内容创建多个模板和地址)
无需魔法,免费体验ChatGPT-4 / MJ绘图 等AI大模型!AI问答、写文案、做表格、绘图、写脚本、写代码...
迅睿cms程序默认一篇内容只有一个url地址和选一个内容页模板,如果还需要为这个内容创建多个页面,例如天客隆模板网每个模板都有一个演示页链接。这种情况我们可以使用新建控制器的方式来做新url地址构成。
实现方法
1、新建控制器
以news模块为例,复制原有文件 dayrui/App/News/Controllers/Show.php 粘贴为Demo.php,内容做一下变更,示例代码如下:
<?php namespace Phpcmf\Controllers;
/**
* 二次开发时可以修改本文件,不影响升级覆盖
*/
// 这里改成和文件名一样的名字
class Demo 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_demo.html");
}
}
2、设置伪静态
通过上面的控制器就实现了内容的第二个地址,默认访问地址就是 /index.php?s=news&c=demo&id=1 ,最后设置伪静态规则,打开config/rewrite.php 添加代码:
"show\-([0-9]+)\-demo\.html(.*)" => 'index.php?s=news&c=demo&id=$1',
这样地址就变为了 show-123-demo.html 格式的伪静态。
开发提示
以上仅为示例,实际二次开发时,根据实际情况参考修改模块名称、模板名称、伪静态规则。
声明:禁止复制、盗用、采集、发布本站内容到任何网站及各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。