PHP開發架構Yii Framework教程(31) Zii組件-DetailView樣本

來源:互聯網
上載者:User

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。

<h3><?php echo CHtml::link($data->FirstName . ' ' . $data->LastName,     $this->createUrl('view',array('CustomerId'=>$data->CustomerId)));?></h3>

當點擊客戶姓 名時,轉到連結view.php, 傳入參數CustomerId設為Customer 的ID。
建立View.php,使用CDetailView組件

<h2><?php echo 'View Customer'; ?></h2>              <?php $this->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'),             );     }

顯示結果如下:

本例下載:http://www.imobilebbs.com/download/yii/DetailViewDemo.zip

查看全套教程:http://www.bianceng.cn/webkf/PHP/201301/35265.htm

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.