0

我创建了一个名为“atom”的 Reportico 项目和一个名为“Receipts”的报告,然后我在 ReportController 中创建了 action=receipts。是我遵循的教程:

控制器代码:

public function actionReceipts()
{
  return $this->render('receipts');
}

我创建了receipts.php

<?php

use yii\helpers\Html;
use yii\helpers\Url;

$this->title = Yii::t('app', 'Reports');
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="report-index">



<div class="container">
<div class="row">
     <div class="col-sm-1">
     </div>
    <div class="col-sm-11">


     <?php 
       $reportico = \Yii::$app->getModule('reportico');
    $engine = $reportico->getReporticoEngine();        // Fetches reportico engine
    $engine->access_mode = "ONEREPORT";                // Allows access to single specified report
    $engine->initial_execute_mode = "PREPARE";         // Starts user in report criteria selection mode
    $engine->initial_project = "atom";            // Name of report project folder
    $engine->initial_report = "receipts";           // Name of report to run
    $engine->bootstrap_styles = "3";                   // Set to "3" for bootstrap v3, "2" for V2 or false for no bootstrap
    $engine->force_reportico_mini_maintains = true;    // Often required
    $engine->bootstrap_preloaded = true;               // true if you dont need Reportico to load its own bootstrap
    $engine->clear_reportico_session = true;           // Normally required
    $engine->execute();  
    ?>
    </div>

</div>

</div>
</div>

我的代码应该打开

http://localhost/Atom/backend/web/index.php?r=report%2Freceipts 

当我尝试它时,我得到了我附上的图片

在此处输入图像描述

当我输入 config.php 中 define('SW_ADMIN_PASSWORD','1234');没有显示的密码时。

我不需要强迫用户输入密码!

我需要在 Criteria Entry Mode 中嵌入报告。 在此处输入图像描述

4

2 回答 2

0

首先,如果您不想提示输入密码,则从 config.php 文件中取出密码或使用项目配置选项将其空白。如果要保留,则将其添加到代码中(在执行调用之前)

$engine->initial_project_password = "1234";

其次,我认为这无济于事,因为您看到的是空白……您可以尝试上述选项之一来摆脱密码提示,然后看看它是否有效。如果您仍然得到空白,那么我们需要调查 ajax 调用。您是否无法进入您的网络浏览器调试网络选项卡并在按下某些内容时,记下发送到服务器的链接并查看响应?

于 2016-12-25T10:12:54.177 回答
0

你可以使用 url 助手

use yii\helpers\Url;


echo '<a href="' . Url:to(['/report/receipts']) . 
               '" type="button" class="btn  btn-block btn-default">Receipts</a>';

可能是你应该设置相关的动作

 $engine->initial_report = Url:to(['/report/receipts']);        // Name of report to run
于 2016-12-24T18:09:14.113 回答