以下總結了三種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視圖只是渲染一個大的結果,例如導航麵包碎屑,記錄的條數和
分頁等。
From:http://zhouyujiao163.blog.163.com/blog/static/48363054201161464156603/
相關推薦:yii框架
以上是yii視圖中使用widget的三種方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!