溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

yii視圖中怎么使用widget

發(fā)布時間:2021-02-19 11:09:33 來源:億速云 閱讀:226 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)yii視圖中怎么使用widget的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

三種yii視圖中使用widget的方式

一、顯示詳細(xì)信息:

yii視圖中怎么使用widget

二、顯示列表,可以進(jìn)行條件限制和分頁:
控制器:

yii視圖中怎么使用widget

視圖:

yii視圖中怎么使用widget

子視圖:

getAttributeLabel('id')); ?>://$data接收來自父視圖的數(shù)據(jù),使用getAttributeLabel()獲取模型中設(shè)置的標(biāo)簽
   id), array('view', 'id'=>$data->id)); ?>//使用$data->attribute獲取值。

三、顯示列表,但是結(jié)果會在表格中顯示

yii視圖中怎么使用widget

Yii中l(wèi)oadModel的使用:$this->loadModel($modelId);
一般在R/U/D操作中,會loadModel($modelId),這是因為此時,讀,更新和刪除時,已經(jīng)通過GET方式獲取到了model的id值,只需要將對應(yīng)id的model加載進(jìn)來,就可以了。
但是在C(建立),不需要loadModel,而是需要新建一個初始化的model。
使用$_POST['Model']的值分別填充model的attribute后,就可以save()了。

Yii中不同控制器使用同一個模板:
在Yii的CRUD操作中,C和U使用的是同一個子視圖。區(qū)別在于:
C操作中,所有的input的值都是空,新建的model也是初始化狀態(tài),并準(zhǔn)備接收來自POST的值。
在U操作中,所有input的值需要通過loadModel($id)的方式填充,然后準(zhǔn)備接收來自POST的更新的值(有的值并沒有被用戶修改);
然后,根據(jù)$model->isNewRecord()來判斷提交按鈕顯示C還是U操作。
最后使用$model->save();將記錄存儲。

Yii中渲染視圖的方式:
使用$this->render()和$this->renderPartial()渲染視圖;
前者一般渲染一個整體視圖,在整體視圖中可能會用后者渲染需要重復(fù)渲染的部分。
例如在indexAction中一般會顯示記錄列表,由于所有記錄的渲染方式一致,此時會使用子
視圖來分別渲染相同的部分。而index視圖只是渲染一個大的結(jié)果,比如導(dǎo)航面包碎屑,記錄的條數(shù)和分頁等。

感謝各位的閱讀!關(guān)于“yii視圖中怎么使用widget”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI