Jam*_*mes 2 php listview partial yii cactivedataprovider
我正在使用CActiveDataProvider和CListView输出名称列表.我想只在名称与之前的名称相同时使用html粗体显示名称.这些不是数据库中的相同行,只有'name'属性是相同的.
例如,我想要以下内容:
Bob
Rick
Steve
Rick
Rick
George
由于我正在使用CListView,因此我使用来自$ data的信息创建我的部分视图,其中包含当前列表项.如何访问上一个列表项中的属性?
谢谢Yii世界老兵!
每个itemViewa CListView都自动传递一些变量,即:
$this:指的是此列表视图窗口小部件的所有者.例如,如果窗口小部件位于控制器的视图中,则$this引用控制器.
$data:指当前正在呈现的数据项.
$index:指当前正在呈现的数据项的从零开始的索引.
$widget:引用此列表视图窗口小部件实例.
(强调我的)
并且每个CListView小部件具有性能$dataProvider和数据提供者具有这样的特性$data 是:
当前可用的数据项数组(意味着在当前页面中,具有当前排序等)
所以在部分itemView我们可以访问整个数据集dataProvider,如下所示:
$widget->dataProvider->data;
Run Code Online (Sandbox Code Playgroud)
对于您的示例,这样的事情应该工作:
<?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; ?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
588 次 |
| 最近记录: |