reportico工具和Yii整合,并解决Projects area does not exist

来源:互联网 发布:用java写自我介绍 编辑:程序博客网 时间:2024/06/11 00:44

Reportico工具是一个PHP开源的报表工具。可以YIILaravel等流行的PHP框架进行整合。

首页:

http://www.reportico.org/

  

首页如下:

  

  

Screen clipping taken: 11/20/2017 3:54 PM

  

然后我们想要和PHP整合,那么可以看下面的这个链接:

  

  

Screen clipping taken: 11/20/2017 3:54 PM

  

选择"YII Reportico Modules"来进行下载安装。

  

我本地安装使用的是YII2,所以我点击了"YII2 module"按钮,进入到下面的一个引导页面:

http://www.reportico.org/yii2/web/index.php/site/index

  

看完指导信息后,提供了一个链接,告诉我们如何安装YII 的Reportico Module:

http://www.reportico.org/yii2/web/index.php/site/installation

  

接下来是我参考安装指导的步骤:

  • 进入到YII的根目录,修改composer.json文件,加入下面的内容:

    "require": {

    "reportico/yii2-reportico": "dev-master"

    },

      

      

    Screen clipping taken: 11/20/2017 4:05 PM

      

      

  • 接下来,执行下面的命令,来更新module
    • composer update
  • 接下来,把这个Module配置到YII框架中。
    • 修改config目录下的web.php文件,加入下面的内容:

      'reportico' => [

      'class' => 'reportico\reportico\Module' ,

      'controllerMap' => [

      'reportico' => 'reportico\reportico\controllers\ReporticoController',

      'mode' => 'reportico\reportico\controllers\ModeController',

      'ajax' => 'reportico\reportico\controllers\AjaxController',

      ]

      ],

      上面的配置方式是Reportico的官网告诉的方法,但是我发现这样是行不通的。。。所以我研究了Yii框架Module加载的方法之后,修改了这段代码,改为下面的方式把这个Module配置进去,代码如下:

        

        

        

        

      然后访问这个Module,通过下面的URL(我自己环境的):

      http://localhost/DemoPage/Yii/basic/web/index.php?r=reportico

      如图:

  • 在这个页面中我们需要设置下Admin的密码:

    我这里设置为admin123

      

    但是,因为框架中有BUG,导致在windows环境下安装的时候,可能会报下面的这个错误:Projects area does not exist - cannot write project

    我看了代码,可能是和传入的目录既有正斜杠也有反斜杠导致,所以加入了如下代码:

    改动代码:

    文件:reportico.php 文件,方法:save_admin_password

    修改代码如下:

      

    其实就是把$proj_parent = find_best_location_in_include_path( $this->admin_projects_folder); 换成 $proj_parent = find_best_location_in_include_path("projects");

      

    因为之前的$this->admin_projects_folder 是一个绝对路径,所以会导致底层的方法出现一些问题,找不多对应的目录。所以改为现在这种方式可以找到。

  • 接下来进入到登录页面:
    •   

      输入刚刚的admin密码admin123,去登录。

  • 登录成功后,进入管理页面
    • 点击 Create A New Project,就可以创建一个新的项目了。
阅读全文
0 0
原创粉丝点击