遇到的問題:
最近使用THINKCMF開發了一個企業網站,因為之前客戶的域名變更過,然后就發現當某個模塊不存在的時候就出現了空頁面在 THINKPHP論壇 上有人說在項目里添加一個EmptyAction.class.php,然后再寫業務邏輯,結果搞了好長時間我一直都沒有找到Action目錄最后才發現ThinkCmf使用的是Thinkphp3.2而作者寫的是3.1在網上逛了半天也沒有解決問題,不得已還是要自己出馬
解決方案:
- 在 \application\Common\Controller\目前添加“EmptyBaseController.class.php”文件
-
<?php/** *@Author:HTL *@Email:Huangyuan413026@163.com *@DateTime:2015-07-1411:22:18 *@Description:空模板控制器 *@use:其他項目添加EmptyController文件並繼承該類即可 */namespace Common\Controller;useThink\Controller;class EmptyBaseController extendsController{function_initialize(){//項目配置文件中的配置項 $emptyPath=C("EMPTY_PATH");//如果未配置默認的地址 if(!$emptyPath || empty($emptyPath))$emptyPath="/";header("Location:".$emptyPath);exit(); } }
2.在所有項目的Controller目前里添加EmptyController.class.php並繼承”\Common\Controller\EmptyBaseController“
-
<?php/** *@Author:HTL *@Email:Huangyuan413026@163.com *@DateTime:2015-07-1411:22:18 *@Description:空模板控制器,直接繼承\Common\Controller\EmptyBaseController即可 */namespace Portal\Controller;class EmptyControllerextends \Common\Controller\EmptyBaseController{ function _initialize(){ parent::_initialize(); } }
3.在\data\conf\config.php里添加"
EMPTY_PATH
"項自定義當訪問不存在的模塊時需要跳轉的頁面
-
<?php return array('EMPTY_PATH'=>'/index.php',/*訪問不存在的模塊時跳轉的地址*/ //其他配置項 );?
>
參考: