文章详情
目标需求:
默认一篇内容只有一个地址和模板,就如【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进行命名,改名字即可。
来源:网站建设网
版权:所有文章为演示数据,版权归原作者所有,仅提供演示效果!
转载请注明出处:https://www.wzjianshe.com/eckf/6166.html