huangxuan258 发表于 2019-3-13 14:53:13

whatsns中如何通过当前页面的路由url找到当前页面使用的模板

对于新手肯定很苦恼修改模板却不知道模板文件在哪个位置,也许你看完这篇文章后你就能快速上手随意修改模板文件布局和文字了
我们通过url查找法去定位文件位置,whatsnsV3.7后版本都是基于开源的php框架codeigniter开发,MVC模式,做过开发写过代码的基本都知道mvc的定义,mvc思想直接体现在路由的url上。废话不多说,直接上例子,whatsns中有不少短url,如 q-,article-,c-,u-等等。下面我们找下问题详情页面模板文件在哪里,如这个地址:https://www.ask2.cn/q-315414.html比如我们想修改这个详情页面中“相关问题”这个改成“相关已解决”(图一中蓝色圈位置)
https://www.ask2.cn/data/ueditor/php/upload/image/20190313/1552457846142905.png看路由是 q-315414.html,这样看是找不到具体文件位置。知识点一-CI中路由配置文件位置文件位置:application/config/routes.php打开routes.php文件后,你可以发现:https://www.ask2.cn/data/ueditor/php/upload/image/20190313/1552457997994899.png$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/315414https://www.ask2.cn/data/ueditor/php/upload/image/20190313/1552458625771264.pngfunction view()https://www.ask2.cn/data/ueditor/php/upload/image/20190313/1552458611877775.png
到这里,你已经知道解析这个url的是哪个控制器中哪个方法控制的了,然后在这个方法中“}”结束位置找到这段代码“include template ( ‘模板文件名’ );”。https://www.ask2.cn/data/ueditor/php/upload/image/20190313/1552458737244723.pngwhatsns中控制器里解析模板方法用 include template(‘模板文件名称’)模板文件具体在application/views/哪个文件夹,请参考后台中系统设置--站点设置,pc和wap对应的模板文件夹(当前应用的),然后在对应的模板文件夹中找到这个‘模板文件名’,上图中‘solve’,对应的是application/views/default/solve.php(pc端,我使用的是默认的模板),application/views/fronzewap/solve.php(wap端,移动端我也使用的默认的模板)。https://www.ask2.cn/data/ueditor/php/upload/image/20190313/1552458990234029.png,比如我想修改pc端这个问题详情页面中左侧“相关问答”改成“相关已解决”,那么打开pc端这个问题详情页面模板文件:application/views/default/solve.php搜索“相关问答”关键词https://www.ask2.cn/data/ueditor/php/upload/image/20190313/1552459121950563.png找到后直接修改保存上传即可,如果发现模板修改没有生效,记住在后台左下角点击清空缓存(非清理浏览缓存),后台左下角清空缓存后就能显示已修改的内容了。
---码字不易,欢迎收藏评论,多多指教!
页: [1]
查看完整版本: whatsns中如何通过当前页面的路由url找到当前页面使用的模板