实现效果
默认方式:栏目abc.com/news/gsxw/ 详情abc.com/news/gsxw/id.html(id为内容的id数字)
实现目标:栏目abc.com/news/gsxw/ 详情abc.com/news/id.html
实现方式
教程涵盖以下四个部分:
1、关闭模型URL名称与栏目URL名称冲突检测,模型url名称设置成需要作为详情url的父级名称(每个模型url名称需唯一)
2、关闭栏目URL名称与模型URL名称冲突检测
3、修改详情URL生成规则为模型url名称+id
4、修改前台页面url判断实现正常打开
修改步骤:
1、打开\\apps\\admin\\controller\\content\\ModelController.php,搜索“模型URL名称与栏目URL名称冲突”注释掉此提示的判断。
注意:有两处判断都需要注释掉
2、打开\\apps\\admin\\controller\\content\\ContentSortController.php,搜索“URL名称与模型URL名称冲突”注释掉此提示的判断。
注意:有两处判断都需要注释掉
3、打开\\apps\\home\\controller\\ParserController.php,搜索“$sortfilename && $contentfilename”,把以下代码:
if($sortfilename&&$contentfilename){$link=Url::home($sortfilename.'/'.$contentfilename,true);}elseif($sortfilename){$link=Url::home($sortfilename.'/'.$id,true);}elseif($contentfilename){$link=Url::home($urlname.$url_break_char.$scode.'/'.$contentfilename,true);}else{$link=Url::home($urlname.$url_break_char.$scode.'/'.$id,true);}
修改成:
//详情url改为模型url名称+id@pbhtmlif($sortfilename&&$contentfilename){$link=Url::home($urlname.'/'.$contentfilename,true);}elseif($sortfilename){$link=Url::home($urlname.'/'.$id,true);}elseif($contentfilename){$link=Url::home($urlname.'/'.$contentfilename,true);}else{$link=Url::home($urlname.'/'.$id,true);}
4、打开\\apps\\home\\controller\\IndexController.php
①搜索找到:
if((!!$sort=$this->model->getSort($part1))&&!!$data=$this->model->getContent($part2)){
修改成:
if(((!!$model=$this->model->checkModelUrlname($part1))||(!!$sort=$this->model->getSort($part1)))&&!!$data=$this->model->getContent($part2)){
②搜索找到:
if($scode!=$data->scode){
修改成:
if($model->urlname!=$data->urlname){
以上仅供参考,如需更多url定制可联系本站客服获取服务。