我正在使用CActiveDataProvider和CListView來輸出名稱列表。我只想在名稱與之前的名稱相同的情況下使用html加粗名稱。這些在數據庫中不是相同的行,只有'name'屬性是相同的。Yii訪問CListView中的以前的數據部分
例如,我想以下幾點:
鮑勃
裏克
史蒂夫
裏克
裏克
喬治
由於我使用CListView中,我創建了我的偏查看使用$ data中的信息,其中包含當前列表項。如何訪問上一個列表項中的屬性?
感謝世界各地的Yii老兵!
我正在使用CActiveDataProvider和CListView來輸出名稱列表。我只想在名稱與之前的名稱相同的情況下使用html加粗名稱。這些在數據庫中不是相同的行,只有'name'屬性是相同的。Yii訪問CListView中的以前的數據部分
例如,我想以下幾點:
鮑勃
裏克
史蒂夫
裏克
裏克
喬治
由於我使用CListView中,我創建了我的偏查看使用$ data中的信息,其中包含當前列表項。如何訪問上一個列表項中的屬性?
感謝世界各地的Yii老兵!
一個CListView
的每個itemView
passed a few variables automatically是,即:
$this
:參照該列表視圖微件的所有者。例如,如果小部件處於控制器的視圖中,則$this
涉及控制器。
$data
:引用當前正在呈現的數據項。
$index
:引用當前正在呈現的數據項的從零開始的索引。
$widget
:引用此列表視圖窗口小部件實例。
(重點煤礦)
而且每個CListView
插件具有property $dataProvider
,和一個數據提供者具有這樣的特性$data
which is:
當前可用的數據項的數組(在當前頁面中的含義,以及當前排序等)
所以在部分itemView
我們可以訪問整個數據集dataProvider
的,就像這樣:
$widget->dataProvider->data;
對於你的榜樣,這樣的事情應該工作:
<?php
if ($index > 0 && $widget->dataProvider->data[$index-1]->name == $data->name):
?>
<b><?php echo $data->name; ?></b>
<?php else:
echo $data->test_message;
?>
<?php endif; ?>
您應該簡單地創建一個臨時變量以保留以前的名稱 – soju
如何創建臨時變量,以便在呈現某個名稱時可以在clistitem中設置局部變量,並在局部視圖中爲下一個名稱訪問它? – James
Juste使其成爲全球 – soju