如何在yii2中使用布局文件main.php中的查找所有条件

时间:2015-06-02 05:01:37

标签: php yii2

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

我可以在layouts-> main.php

中使用以下代码
                <?php $model = Project_manage::find()->all(); ?>

当我在主.php

中使用此代码时

将出现以下错误

Error (#1)

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

在我的Bootstrap文件中放置以下代码

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中如何使用在布局文件中查找所有条件

请帮我解决这个问题,

感谢。

1 个答案:

答案 0 :(得分:2)

你可以使用EVENT_BEFORE_RENDER:把它放在你的普通\ 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'];