迅睿cms制作模板演示页(给内容创建多个模板和地址)
迅睿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 格式的伪静态。
开发提示
以上仅为示例,实际二次开发时,根据实际情况参考修改模块名称、模板名称、伪静态规则。
相关文档
- pbootcms、dedecms等模板标签正则替换为迅睿cms标...
- 迅睿cms模板如何自定义分页css样式
- 迅睿cms首页及各页面实现ajax瀑布流滚动加载
- 迅睿cms搜索参数单选/多选/下拉字段条件筛选写法
- 迅睿cms模板循环标签每隔几行几个更换或指定输出特定样式
- 迅睿cms会员登录/注册/退出登录后跳转到指定链接或返回当前页面
- 迅睿cms网站任意页面前端调用全局模块表单提交及自定义样式方法
- 为下载的迅睿cms模板前端增加友情链接版块
- 迅睿cms二次开发系统目录结构说明
- 迅睿cms制作模板演示页(给内容创建多个模板和地址)
- 迅睿cms网站后台控制台面板如何添加自定义数据?
- 迅睿cms调用字段敏感信息首尾截取中间隐藏用星号代替
- 迅睿cms使用全局表单制作证书查询功能
- 迅睿cms模块表单制作在线预约报名付款(支持游客免登录支付)
- 迅睿cms读取zip压缩包文件目录结构配合jsTree展示文件树...
- 迅睿cms站群系统实现全国城市分站功能插件及调用标签
- 迅睿cms文章标题生成图片插件:亿级文章配图器不占用空间
- 迅睿cms使用API接口实现主站统一管理多站点群友情链接
- 安装迅睿cms网站程序的服务器环境要求
- 迅睿cms怎么生成真静态?设置定时自动生成静态任务方法
下一篇: 迅睿cms二次开发系统目录结构说明