pbootcms實現詳情頁鏈接不帶父級目錄直接ID訪問
是否在找這個
點解查看 → pbootcms詳情頁鏈接改為頂級欄目url
2021-10-28更新
本篇文章已廢棄,使用3.1.0及以上版本自帶支持直接id訪問模式!
過往記錄
2020-07-30 更新提示:代碼更新為在2.x最新版2.1.1上進行的修改演示,其他版本請參考自行修改。
2020-06-10 更新提示:V2.0.9版本需要自行對應的修改,不可直接全部復制。
因為博客有時候不同時間段想法不一樣,會考慮欄目層級的變化,這時候文章詳情鏈接如果帶了父級目錄名稱那么鏈接也會隨之變化,對于被收錄的文章就打不開了。
那么實現詳情頁鏈接不帶父級目錄直接ID訪問具體是什么樣的,這是原來的詳情鏈接xxx.com/industry/7.html,優化完之后xxx.com/7.html
下面來講解下在pbootcms具體的實現方法:
總共修改兩個文件,在同一個目錄里。修改的位置做了標注,關鍵字:@mk-detail
/apps/home/controller/IndexController.php
/apps/home/controller/ParserController.php
IndexController.php里修改兩處
1、搜索地址分隔符,在它的上一行加上
$path_num = is_numeric($path[0]); // @mk-detail
截圖:
2、在 if (count($path) > 1) { 下面位置增加elseif判斷
if (count($path) > 1) { if (! ! ($data = $this->model->getContent($path[1])) && ($data->scode == $scode || $data->sortfilename == $scode)) { if ($data->acode != get_lg() && Config::get('lgautosw') !== '0') { cookie('lg', $data->acode); // 調用內容語言與當前語言不一致時,自動切換語言 } $this->getContent($data); } else { _404('您訪問的內容不存在,請核對后重試!'); } } elseif ($path_num) { // @mk-detail if (! ! ($data = $this->model->getContent($path[0]))) { $this->getContent($data); } else { _404('您訪問的內容不存在,請核對后重試!'); } } else { if (! ! $sort = $this->model->getSort($scode)) { if ($sort->acode != get_lg() && Config::get('lgautosw') !== '0') { cookie('lg', $sort->acode); // 調用欄目語言與當前語言不一致時,自動切換語言 } if ($sort->type == 1) { $this->getAbout($sort); } else { $this->getList($sort); } } else { _404('您訪問的欄目不存在,請核對后重試!'); } }
截圖:
ParserController.php修改一處
搜索以下代碼,默認在3202行
$link = Url::home($sortfilename . '/' . $id, true);
然后修改成
$link = Url::home($id, true); // @mk-detail
截圖:
至此,前臺顯示已經OK。
補充后臺和Sitemap修改
上面操作完后后天點擊查看時還是帶目錄的鏈接,前臺查看sitemap.html發現鏈接也沒修改過來。
所以還要下面再操作兩個地方修改
1、后臺模板代碼修改,打開/apps/admin/view/default/content/content.html
//原來的 $link = homeurl('home/Index/' . $sortfilename . '/' . $id, true); //替換成下面 $link = homeurl('home/Index/' . $id, true);
2、網站地圖生成文件,找到/apps/home/controller/SitemapController.php
//原來的 $link = Url::home('home/Index/' . $value2->sortfilename . '/' . $value2->id, true); //替換成下面 $link = Url::home('home/Index/' . $value2->id, true);
后話
以上操作完,就可以完美體驗詳情頁單獨id模式了。如果你操作了卻無法實現,可以加群交流使用,如果你有更多url規則需求,可直接咨詢站長獲取定制服務。
2021-09-29 新增50元代勞操作服務
相關文章
文章標題:pbootcms實現詳情頁鏈接不帶父級目錄直接ID訪問
文章版權:PB模板網 (bilinxiyi.cn) 所發布的內容,部分為原創文章,轉載請注明來源,網絡轉載文章如有侵權請聯系我們!
本文最后更新發布于
2022-11-28 18:03:21
,某些文章具有時效性,若有錯誤或已失效,請在下方留言或聯系客服: