- 我正在Yii2中創建一個在線商店。
- 我有一個名爲產品的mysql表,用於在 視圖中顯示產品。此表屬於ProductsController和Products模型。該視圖使用ListView和$ dataProvider來顯示產品圖片和一些相關的文本和整型值,例如名稱,價格等......它也就像顯示每個記錄中顯示的按鈕一樣。
- 當我點擊購買按鈕時,它會轉到另一個名爲EncomendasController的控制器,另一個視圖是Encomendas的另一個表格,它是客戶端輸入個人數據(名稱,地址等)的表單字段。
- 我需要做的是:當客戶端在ProductsController中單擊查看按鈕以從listView中購買項目時,只需要將該項目字段名稱存儲起來,或許存儲在變量中,並且在與EncomendasController相關的新視圖中產品選擇名稱將顯示在收集客戶個人數據的字段上方以完成銷售過程。
編輯 - 的DetailView與購買按鈕
<?= 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','PURCHASE'), Url::toRoute(['encomendas/create'])),
],
],
]) ?>
如果您正在使用帖子並提交,請在GET中傳遞'Products'模型的'id'或存儲爲隱藏輸入。 – ineersa
好的。我閱讀了有關該程序,SESSION或GET似乎很容易處理。但是,如何在var中只存儲產品,我按下了購買按鈕。這可能很困難,因爲所有產品都由ListView小部件一次顯示,並且它是$ dataProvider。我如何告訴框架來存儲特定的產品ID或名稱? –