zoukankan      html  css  js  c++  java
  • THINKPHP 解决模块不存在时出现空页面的问题

    遇到的问题:
    最近使用THINKCMF开发了一个企业网站,因为之前客户的域名变更过,然后就发现当某个模块不存在的时候就出现了空页面
    THINKPHP论坛 上有人说在项目里添加一个EmptyAction.class.php,然后再写业务逻辑,结果搞了好长时间我一直都没有找到Action目录
    最后才发现ThinkCmf使用的是Thinkphp3.2而作者写的是3.1
    在网上逛了半天也没有解决问题,不得已还是要自己出马
     
    解决方案:
    1. applicationCommonController目前添加“EmptyBaseController.class.php”文件              
    1. <?php/**
      *@Author:HTL
      *@Email:Huangyuan413026@163.com
      *@DateTime:2015-07-1411:22:18
      *@Description:空模板控制器
      *@use:其他项目添加EmptyController文件并继承该类即可
      */namespace CommonController;useThinkController;class EmptyBaseController extendsController{function_initialize(){//项目配置文件中的配置项
      $emptyPath=C("EMPTY_PATH");//如果未配置默认的地址
      if(!$emptyPath || empty($emptyPath))$emptyPath="/";header("Location:".$emptyPath);exit();
      }
      }
       
         2.在所有项目的Controller目前里添加EmptyController.class.php并继承”CommonControllerEmptyBaseController“               
    1. <?php/**
      *@Author:HTL
      *@Email:Huangyuan413026@163.com
      *@DateTime:2015-07-1411:22:18
      *@Description:空模板控制器,直接继承CommonControllerEmptyBaseController即可
      */namespace PortalController;class EmptyControllerextends CommonControllerEmptyBaseController{
      function _initialize(){
      parent::_initialize();
      }
      }
          3.在dataconfconfig.php里添加" EMPTY_PATH "项自定义当访问不存在的模块时需要跳转的页面          
    1. <?php return array('EMPTY_PATH'=>'/index.php',/*访问不存在的模块时跳转的地址*/
      //其他配置项
      );?
      >
     
    参考:
  • 相关阅读:
    结合php ob函数理解缓冲机制
    php中的require-once
    PHP面试题基础问题
    Jquery显示与隐藏input默认值的实现代码
    win7下cmd常用命令
    采用cocos2d-x lua 的listview 实现pageview的翻页效果之上下翻页效果
    采用cocos2d-x lua 制作数字滚动效果样例
    luac++
    lua相关笔记
    cornerstone知识点
  • 原文地址:https://www.cnblogs.com/huangtailang/p/4645097.html
Copyright © 2011-2022 走看看