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',/*访问不存在的模块时跳转的地址*/
      //其他配置项
      );?
      >
     
    参考:
  • 相关阅读:
    java volatile关键字解惑
    Java 反射
    拷贝源实体类到目标实体类中
    Bean和Map之间的转换
    DateUtils时间的封装
    HttpClient的代码封装,便于直接调用
    HttpClient语法
    LinkedHashMap+ConcurrentHashMap+hashMap的区别
    1006 Tick and Tick
    Event Flow
  • 原文地址:https://www.cnblogs.com/huangtailang/p/4645097.html
Copyright © 2011-2022 走看看