您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關yii視圖中怎么使用widget的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
三種yii視圖中使用widget的方式
一、顯示詳細信息:
二、顯示列表,可以進行條件限制和分頁:
控制器:
視圖:
子視圖:
getAttributeLabel('id')); ?>://$data接收來自父視圖的數據,使用getAttributeLabel()獲取模型中設置的標簽
id), array('view', 'id'=>$data->id)); ?>//使用$data->attribute獲取值。
三、顯示列表,但是結果會在表格中顯示
Yii中loadModel的使用:$this->loadModel($modelId);
一般在R/U/D操作中,會loadModel($modelId),這是因為此時,讀,更新和刪除時,已經通過GET方式獲取到了model的id值,只需要將對應id的model加載進來,就可以了。
但是在C(建立),不需要loadModel,而是需要新建一個初始化的model。
使用$_POST['Model']的值分別填充model的attribute后,就可以save()了。
Yii中不同控制器使用同一個模板:
在Yii的CRUD操作中,C和U使用的是同一個子視圖。區別在于:
C操作中,所有的input的值都是空,新建的model也是初始化狀態,并準備接收來自POST的值。
在U操作中,所有input的值需要通過loadModel($id)的方式填充,然后準備接收來自POST的更新的值(有的值并沒有被用戶修改);
然后,根據$model->isNewRecord()來判斷提交按鈕顯示C還是U操作。
最后使用$model->save();將記錄存儲。
Yii中渲染視圖的方式:
使用$this->render()和$this->renderPartial()渲染視圖;
前者一般渲染一個整體視圖,在整體視圖中可能會用后者渲染需要重復渲染的部分。
例如在indexAction中一般會顯示記錄列表,由于所有記錄的渲染方式一致,此時會使用子
視圖來分別渲染相同的部分。而index視圖只是渲染一個大的結果,比如導航面包碎屑,記錄的條數和分頁等。
感謝各位的閱讀!關于“yii視圖中怎么使用widget”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。