問答使用教程

對于新手肯定很苦惱修改模板卻不知道模板文件在哪個位置,也許你看完這篇文章后你就能快速上手隨意修改模板文件布局和文字了


我們通過url查找法去定位文件位置,whatsnsV3.7后版本都是基于開源的php框架codeigniter開發,MVC模式,做過開發寫過代碼的基本都知道mvc的定義,mvc思想直接體現在路由的url上。

廢話不多說,直接上例子,whatsns中有不少短url,如 q-,article-,c-,u-等等。

下面我們找下問題詳情頁面模板文件在哪里,如這個地址:https://www.ask2.cn/q-315414.html

比如我們想修改這個詳情頁面中“相關問題”這個改成“相關已解決”(圖一中藍色圈位置)

看路由是 q-315414.html,這樣看是找不到具體文件位置。

知識點一-CI中路由配置文件位置

文件位置:application/config/routes.php

打開routes.php文件后,你可以發現:

$route['q-(:num)'] = 'Question/view/$1';//對問題重寫

實際地址是Question/view/$1,沒錯實際路由是https://www.ask2.cn/question/view/315414.html

通過路由url真實地址,我們可以在控制器文件的方法中找到實際應用這個詳情頁面模板文件。

知識點二--CI中路由url構造格式

http://你的域名/控制器文件名/控制器方法名/參數1/參數2  


從上面路由格式可以看出控制器文件名稱是question.php文件,這個文件中有個方法名稱是view

知識點三--CI中MVC文件夾存儲位置,控制器文件,視圖文件,操作數據庫的實體類文件

打開問答根目錄下的application文件夾,你會看到controllers,models,views這三個文件夾

controllers文件夾就是控制器文件夾,views文件夾就是存放前后臺模板的文件夾,models文件夾一般人不需要動,除非是修改前端顯示的數據(從數據庫中取的)


這個“question/view/315414”中我們先打開 application/controllers/Question.php文件(控制器文件,因為url中第一個英文名是代表控制器文件名稱)

然后在打開的Question.php搜索 “function view()”或者“function view”,找到解析問答詳情頁面的這個方法位置


到這里,你已經知道解析這個url的是哪個控制器中哪個方法控制的了,然后在這個方法中“}”結束位置找到這段代碼“include template ( ‘模板文件名’ );”。

whatsns中控制器里解析模板方法用 include template(‘模板文件名稱’)

模板文件具體在application/views/哪個文件夾,請參考后臺中系統設置--站點設置,pc和wap對應的模板文件夾(當前應用的),然后在對應的模板文件夾中找到這個‘模板文件名’,上圖中‘solve’,對應的是application/views/default/solve.php(pc端,我使用的是默認的模板),application/views/fronzewap/solve.php(wap端,移動端我也使用的默認的模板)。

,

比如我想修改pc端這個問題詳情頁面中左側“相關問答”改成“相關已解決”,那么打開pc端這個問題詳情頁面模板文件:

application/views/default/solve.php

搜索“相關問答”關鍵詞

找到后直接修改保存上傳即可,如果發現模板修改沒有生效,記住在后臺左下角點擊清空緩存(非清理瀏覽緩存),后臺左下角清空緩存后就能顯示已修改的內容了。


---碼字不易,歡迎收藏評論,多多指教!


六肖中特公式6合彩