如何从layout/main.php Yii2中的控制器访问变量

如何从layout/main.php Yii2中的控制器访问变量,php,yii2,Php,Yii2,我试图使用以下代码从main.php内部访问$searchModel: <?php $form = ActiveForm::begin(['action' => ['search'],'method' => 'get','class'=>'lockscreen-credentials']); ?> <?= $form->field('searchModel', 'subject')->textInput(array('placeholde

我试图使用以下代码从main.php内部访问$searchModel:

<?php 
$form = ActiveForm::begin(['action' => ['search'],'method' => 'get','class'=>'lockscreen-credentials']); ?>
    <?= $form->field('searchModel', 'subject')->textInput(array('placeholder' => 'Title...'))->label(false); ?>
    <?= Html::submitButton('Search', ['class' => 'btn btn-primary']) ?>
<?php ActiveForm::end(); 
?>

谁能告诉我哪里出了问题?如果可能,请提供一个正确方法的简要示例?提前谢谢

您使用的是作为字符串,但它应该是一个变量:

<?= $form->field($searchModel, 'subject')....

对不起,我的错,我应该发现的。但是现在我得到了:
未定义变量:searchModel
,我认为可以使用:
在操作中传递这个:
$this->render('myView',['searchModel'=>$searchModel];
或在视图中定义它,如果它的布局文件感谢您的快速回答。我也应该添加控制器操作,不是吗?我确实会将它传递给操作,但我试图在布局中访问它。因此,我将变量传递给索引视图,我如何定义它,以便我可以在布局中访问?如果我完全丢失了某些内容,请原谅很明显。完全相同的代码在post/index中工作。在布局中,您必须像在控制器中一样详细地定义它:)只是在使用它之前必须这样:)
<?= $form->field($searchModel, 'subject')....