我有一个DetailView,它在属于ProdutosController
某些字段的视图中呈现(foto,nome等)。在detailView内部是一个超链接,显示每个录制的节目,按下时会从EncomendasController
呈现视图,而EncomendasController
必须只显示产品的名称(字段名称)我在其中激活了' Comprar'超链接。
<?= DetailView::widget([
'model' => $model,
'options' => ['class' => 'detail1-galeria-view2'],
'attributes' => [
// cria um array com a fotografia, em que carrega a path no campo fieldName da bd
[
'attribute'=>'',
//'value'=>$model->foto,
'value'=>Html::a(Html::img(Yii::$app->getUrlManager()->getBaseUrl() . "/" .$model->foto, ['width'=>'192', 'height' => "256"]), $model->foto),
'format' => 'raw',
],
[
'attribute'=>'',
'value'=>$model->nome,
],
[
'attribute'=>'',
'value'=>$model->categoria,
],
[
'attribute'=>'',
'value'=>$model->descricao,
],
[
'attribute'=>'',
'value'=>$model->valor.' '.'€',
],
// info
[
'attribute'=>'',
'format' => 'raw',
'value'=> Html::a(Yii::t('app','Comprar'), Url::toRoute(['encomendas/create'])),
],
],
]) ?>
我怎样才能通过现场&#34; nome&#34;从产品detailView中我按下超链接按钮到属于另一个名为EncomendasController
的控制器的另一个视图,然后在新视图中显示相同的名称?
答案 0 :(得分:0)
您可以将controller name
后跟controller method
作为URL
传递,并将'nome'
作为属性传递。此'nome'
将redirected
到页面。
查看强>
'value'=> Html::a(Yii::t('app','Comprar'), Url::toRoute(['encomendas/create', 'nome' => $model->nome])),
<强>控制器强>
class EncomendasController
{
.
.
public function actionCreate($nome) {
$nome = Yii::$app->request->get('nome');
return $this->redirect('create',['nome'=>$nome]);
}
.
.
}
create.php (查看)
<?php echo $nome;?>