迅睿CMS框架是一款PHP8高性能·简单易用的CMS开源开发框架,基于MIT开源许可协议发布,免费且不限制商业使用,是免费开源的产品,以万端互联为设计理念,支持的微信公众号、小程序、APP客户端、移动端网站、PC网站等多终端式管理系统。
联系官方销售客服
1835022288
028-61286886
目的实现自定义内容页url
函数代码写好,如下:
前台url解析出来,内容页链接也实现了标题转拼音
最后问题来了,伪静态规则不知道怎么写。求助大神~
<?php namespace Phpcmf\Controllers; /** * 二次开发时可以修改本文件,不影响升级覆盖 */ class Show extends \Phpcmf\Home\Module { public function index() { $this->_module_init(); $id = \Phpcmf\Service::L('Input')->get('id'); if ($cid = \Phpcmf\Service::L("L")->get_file("xs_news_".$id , "xs_news")) { $id = $cid; } $this->_Show( (int)$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')) ); } public function time() { $this->_module_init(); $this->_MyShow( 'time', (int)\Phpcmf\Service::L('Input')->get('id'), max(1, (int)\Phpcmf\Service::L('Input')->get('page')) ); } public function recycle() { $this->_module_init(); $this->_MyShow( 'recycle', (int)\Phpcmf\Service::L('Input')->get('id'), max(1, (int)\Phpcmf\Service::L('Input')->get('page')) ); } public function draft() { $this->_module_init(); $this->_MyShow( 'draft', (int)\Phpcmf\Service::L('Input')->get('id'), max(1, (int)\Phpcmf\Service::L('Input')->get('page')) ); } public function verify() { $this->_module_init(); $this->_MyShow( 'verify', (int)\Phpcmf\Service::L('Input')->get('id'), max(1, (int)\Phpcmf\Service::L('Input')->get('page')) ); } }
这个伪静态没办法直接查询,因为wang.....kan这几个字符并没储存到数据库,就没办法直接查询了,只能这样办,把数据库记录全部查询出来,再循环遍历,然后一个个的对比title的配音字符,比较消耗资源,数据一旦多了,访问相当缓慢我建议的方案是 专门建一个自定义字段来储存wang...kan这几个字符,然后再一次性查询这几个字符的记录
在return之前 加一句 \Phpcmf\Service::L("L")->set_file("xs_news_".$pinyin, $data['id'], "xs_news");2、这个是对的,可以这样写
3、打开news模块文件dayrui/App/News/Controllers/Show.php
News控制器Show.php文件
伪静态规则
调试再三还是
一个是id一个是拼音 不相等了所以url没用上这一条规则,传不了参数值~