【问题标题】:How to use find all condition in the layout file main.php in yii2如何在yii2的布局文件main.php中使用查找所有条件
【发布时间】:2015-06-02 05:01:37
【问题描述】:

我是 yii 2.0 的新手,我想在布局文件中显示所有项目名称。

我可以在 layouts->main.php 中使用以下代码

                <?php $model = Project_manage::find()->all(); ?>

当我在主 .php 中使用此代码时

会出现以下错误

Error (#1)

An internal server error occurred.(These Error are came)

在我的引导文件中放置了以下代码

Yii::setAlias('common', dirname(__DIR__));
Yii::setAlias('frontend', dirname(dirname(__DIR__)) . '/frontend');
Yii::setAlias('backend', dirname(dirname(__DIR__)) . '/backend');
Yii::setAlias('console', dirname(dirname(__DIR__)) . '/console');

Event::on(View::className(), View::EVENT_BEFORE_RENDER, function() {
$model = Project_manage::find()->all();
Yii::$app->view->params['model'] = $model;
});

上述代码放置时会出现如下错误

 Fatal error: Class 'Event' not found in   D:\wamp\www\yii2\common\config\bootstrap.php on line 7

在 yii 2.0 中如何使用查找布局文件中的所有条件

请帮我解决这个问题,

谢谢。

【问题讨论】:

  • 您查看日志文件是什么原因导致内部服务器错误?这可能是 1000 种不同的东西。您是否尝试过评论该行并查看它是否有效?请添加更多信息。您所指的ActiveQuery-功能应该像其他任何地方一样在布局文件中工作。
  • 注释 $model 行后它工作正常。但是启用它显示的代码是一个错误
  • 再次:检查您的日志!我在这里看不到任何命名空间,所以要么你在文件顶部有一个use-statement,要么根本找不到Project_manage-class。或者没有确切的错误信息我们不会知道的任何其他内容。

标签: php yii2


【解决方案1】:

你可以使用 EVENT_BEFORE_RENDER:把它放在你的 common\config\bootstrap.php 中

    use yii\base\Event;
    use yii\base\View;

    Event::on(View::className(), View::EVENT_BEFORE_RENDER, function() {

        $model = Project_manage::find()->all();
        Yii::$app->view->params['model'] = $model;

    });

然后在您的主布局中,您可以将模型用作:

$model= $this->params['model'];

【讨论】:

  • 当我使用上面的代码时,我得到以下错误解析错误:语法错误,意外'函数'(T_FUNCTION),期望标识符(T_STRING)在 D:\wamp\www\yii2\frontend\ config\bootstrap.php 在第 2 行 MY 代码在 common\config\bootstrap.php all(); Yii::$app->view->params['model'] = $model; }); } ?>
  • 您能否更新您的问题并显示您在引导文件中放入的内容。在我的回答中,我没有写一个我在你的评论中看到的函数。
  • 先生,现在我更新我的代码请再次检查我的代码
  • 你没有包含命名空间。我已经更新了答案,请查看前两行并将其包含在引导文件的顶部,然后检查
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-09
  • 2017-04-27
  • 2010-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多