2015-12-21 149 views
0

我有這個DetailView呈現在屬於ProdutosController某些字段(照片,Nome等)的視圖中。 detailView內部是一個超鏈接,顯示每個錄製的展示,並在按下時呈現EncomendasControllerEncomendasController的視圖,並且EncomendasController必須僅顯示產品的名稱(字段編號),其中我激活了「Comprar」超鏈接。Yii2 - 傳遞表字段從其他控制器查看

<?= 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'])), 
     ], 
    ], 
]) ?> 

如何從產品的DetailView中,我按下了超鏈接按鈕屬於一個名爲EncomendasController其他控制器另一種觀點僅傳遞場「諾姆」,然後在新的觀點,即相同的名字說明了什麼?

+0

你想通過唯一的名字給其他控制器,並且在這個控制器中你想渲染一個頁面並且回顯這個名字?我對嗎 ? –

+0

是的你是對的。 –

+0

這很簡單安德烈。等待幾分鐘。 –

回答

0

您可以通過controller method作爲URL通過遵循controller name,並通過'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;?> 
+0

好的。但是,當用戶按下超鏈接時,如何僅傳遞$ model-> nome以及與detailView關聯的記錄中的值。 –

+0

錯誤未找到#404,在http:// localhost:8888/beladona/web/index.php?r = encomendas%2Fcreate%3Fnome%3DRamo +誘惑 –

+0

您是否創建了create.php頁面@AndréCastro? –

相關問題