更改Drupal视图表输出
时间:2020-03-05 15:25:29 来源:igfitidea点击:
视图模块提供了一种从Drupal数据库呈现数据的简单方法。
为了满足设计要求,经常需要使用表格输出格式。
类似的情况之一就是需要定制表输出。
场景是,我们有一个折扣列表,有效期是它的属性之一。
我们想用不同的颜色显示过期的折扣,以区别于活动折扣。
帮助我们的是hook_preprocess_views_view_table()。
[[{"type":"media","view_mode":"media_original","fid":"110","attributes":{"alt":"","class":"media-image","style":"width: 600px; height: 421px; ","typeof":"foaf:Image"}}]]
row_classes增加了这里的美丽。
该视图维护一个单独CSS类数组,这些类分别对应于表的行索引。
例如,$vars['row'][0]将应用于来自$vars['row_classes'][0]CSS类。
我希望我说得够清楚。
我们使用的代码如下所示。
function HOOK_preprocess_views_view_table(&$vars) { if(in_array($vars['view']->name,array('VIEWS_1','VIEWS_2'))) { foreach ($vars['rows'] as $k => $row ) { $validity = $row['field_validity']; if (_CHECK_VALIDITY($validity)) { $vars['row_classes'][$k][] = 'my-expired-css-class'; } } }
我遍历每一行并检查日期的有效性,如果过期,我添加了我的自定义css类我的过期css类,它可以重写(overwriting)默认颜色。