首頁  >  文章  >  php框架  >  yii視圖中使用widget的三種方式

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

王林
王林轉載
2021-02-19 10:07:462635瀏覽

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

以下總結了三種yii檢視中使用widget的方式,希望能夠幫助大家。

一、顯示詳細資料:

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

二、顯示列表,可以進行條件限制與分頁:
控制器:

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

#檢視:

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

子檢視:

    getAttributeLabel('id')); ?>:// $data接收來自父視圖的數據,使用getAttributeLabel()取得模型中設定的標籤
    id), array('view', 'id'=>$data->id)); ?>/ /使用$data->attribute取得值。

三、顯示列表,但結果會在表格中顯示

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

#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視圖只是渲染一個大的結果,例如導航麵包碎屑,記錄的條數和
分頁等。

From:http://zhouyujiao163.blog.163.com/blog/static/48363054201161464156603/

相關推薦:yii框架

以上是yii視圖中使用widget的三種方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除