服务器之家:专注于服务器技术及软件下载分享
分类导航

DEDECMS|帝国CMS|Discuz|PHPCMS|Wordpress|ZBLOG|ECSHOP|苹果CMS|极致CMS|CMS系统|

服务器之家 - 建站程序 - CMS系统 - pbootcms详情页链接改为顶级栏目url(模型名称)

pbootcms详情页链接改为顶级栏目url(模型名称)

2023-05-07 21:00未知服务器之家 CMS系统

默认方式:栏目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名称设置成需要

默认方式:栏目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名称冲突”注释掉此提示的判断。

注意:有两处判断都需要注释掉

pbootcms详情页链接改为顶级栏目url(模型名称)

2、打开\apps\admin\controller\content\ContentSortController.php,搜索“URL名称与模型URL名称冲突”注释掉此提示的判断。

注意:有两处判断都需要注释掉

pbootcms详情页链接改为顶级栏目url(模型名称)

3、打开\apps\home\controller\ParserController.php,搜索“$sortfilename && $contentfilename”,把以下代码:

  1. 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);
    }

修改成:

  1. //详情url改为模型url名称+id @pbhtml
    if ($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

①搜索找到:


 
  1. if ((! ! $sort = $this->model->getSort($part1)) && ! ! $data = $this->model->getContent($part2)) {

修改成:


 
  1. if (((! ! $model = $this->model->checkModelUrlname($part1)) || (!! $sort = $this->model->getSort($part1))) && ! ! $data = $this->model->getContent($part2)) {

②搜索找到:

  1. if ($scode != $data->scode) {

修改成:

  1. if ($model->urlname != $data->urlname) {

 


延伸 · 阅读

精彩推荐