CDetailView為某個Model顯示詳細內容。這個要顯示的Model可以是CModel或關聯數組。
CDetailView透過設定 attributes來決定Model的那些屬性需要顯示已經以何種格式顯示。
每個屬性可以使用Name:Type:Label來設定。其中 Type和Label都是可選的。
「Name」 屬性名稱.
「Label」 可以選,屬性的標籤名,如果沒有配置,則使用屬性名稱做為標籤名稱.
「Type」屬性的類型,透過類型來決定顯示的格式formatter.可以使用的類型有raw, text, ntext, html, date, time, datetime, boolean, number, email, image, url. 等,缺省使用text.
本例修改上例Yii Framework 開發教程( 30) Zii元件-ListView 範例,修改顯示清單的清單項目模版_view.php ,使客戶名稱由普通文字變成Link。
FirstName . ' ' . $data->LastName,
$this->createUrl('view',array('CustomerId'=>$data->CustomerId)));?>
當點擊客戶名稱時,前往連結view.php, 傳入參數CustomerId設為Customer 的ID。
建立View.php,使用CDetailView元件。
widget('zii.widgets.CDetailView', array( 'data'=>$model, 'attributes'=>array( 'FirstName', 'LastName', 'Company', 'Address', 'City', 'State', 'Country', 'PostalCode', 'Phone', 'Fax', 'Email', array( 'name'=>'Employee', 'value'=>$model->employee->FirstName, ), ), )); ?>
使用缺省的格式顯示Customer的每個字段,主要的Employee字段,表Customer定義的是SupportRepId做為外鍵參考Employee,因此修改類Customer定義Relations,參考Yii Framework 開發教程(27) 數據庫-關聯Active Record範例
public function relations() { return array( 'employee'=>array(self::BELONGS_TO, 'Employee', 'SupportRepId'), ); }
顯示結果如下:
以上就是PHP開發框架Yii Frameworkwwwwww(31) Zii元件-DetailView範例的內容,更多相關內容請關注PHP網路(中文組件-DetailView範例. php.cn)!