koolreport icon indicating copy to clipboard operation
koolreport copied to clipboard

How to use KoolReport in Yii2 framework?

Open JacquesMarques opened this issue 6 years ago • 6 comments

Anybody has using KoolReport with YII2 (the last version of YII Framework)?

JacquesMarques avatar Mar 16 '18 19:03 JacquesMarques

I have installed it yesterday. So far so good. I'm using the advanced template and I have configured the reports to be displayed in the backend. In the simplest scenario steps are:

  1. Install using composer
  2. Create a folder to store the reports (in my case backend/reports)
  3. Create the reports according to documentation, for example OperationsReport
  4. In the desire action, create an instance of the report: $report = new OperationsReport();
  5. Render the view: return $this->renderPartial('report', ['report' => $report]); I had to use renderPartial or the layout got a little bit messed up

Those steps should work, BUT, at least in my case, I didn't have the level of control I needed over the report. So, I now follow these steps:

Steps 1 to 3 are the same 4. Create the view file, for example: OperationsReport.view. In this view I can display charts, Configure table headers, etc. 5. In the desire action, create an instance of the report: $report = new OperationsReporte(); 6. Render the report: $report->run()->render();

One thing to note though, is that in this way, you have to modify your report file if you want to include bootstrap, jquery, etc:

class OperationsReport extends KoolReport { use \koolreport\clients\jQuery; use \koolreport\clients\Bootstrap; use \koolreport\clients\FontAwesome;

....

Also, you have to configure the assets array:

function settings() { return array( "assets"=>array( "path"=>"../web", "url"=>"../", ), ...

Otherwise you won't have styles applied.

I hope this helps.

vihugarcia avatar Apr 20 '18 01:04 vihugarcia

Thanks Victor for your great answer.

koolphp avatar Apr 21 '18 12:04 koolphp

I have installed it yesterday. So far so good. I'm using the advanced template and I have configured the reports to be displayed in the backend. In the simplest scenario steps are:

  1. Install using composer
  2. Create a folder to store the reports (in my case backend/reports)
  3. Create the reports according to documentation, for example OperationsReport
  4. In the desire action, create an instance of the report: $report = new OperationsReport();
  5. Render the view: return $this->renderPartial('report', ['report' => $report]); I had to use renderPartial or the layout got a little bit messed up

Those steps should work, BUT, at least in my case, I didn't have the level of control I needed over the report. So, I now follow these steps:

Steps 1 to 3 are the same 4. Create the view file, for example: OperationsReport.view. In this view I can display charts, Configure table headers, etc. 5. In the desire action, create an instance of the report: $report = new OperationsReporte(); 6. Render the report: $report->run()->render();

One thing to note though, is that in this way, you have to modify your report file if you want to include bootstrap, jquery, etc:

class OperationsReport extends KoolReport { use \koolreport\clients\jQuery; use \koolreport\clients\Bootstrap; use \koolreport\clients\FontAwesome;

....

Also, you have to configure the assets array:

function settings() { return array( "assets"=>array( "path"=>"../web", "url"=>"../", ), ...

Otherwise you won't have styles applied.

I hope this helps.

Can you paste an example please..???

luica20 avatar Jan 29 '19 15:01 luica20

Hi vihugarcia,

Are you have any reference tutorial link.

padmakanigem3s avatar May 04 '19 11:05 padmakanigem3s

You may have a look at

https://github.com/koolreport/yii2-example

Also we have just release a package koolreport/yii2 to facilitate creating report inside Yii2

Best regards

koolreport avatar Jan 17 '20 18:01 koolreport

I installed the extension as per the instructions, and I am getting the following error:

Unknown Class – yii\base\UnknownClassException

Unable to find 'app\reports\test' in file: D:\wamp64\www\pmtts/reports/test.php. Namespace missing?

Does anyone know why I would be getting this error, and how to fix it.

Any help would be greatly appreciated

lloyd966 avatar Apr 07 '21 10:04 lloyd966