Drupal 8 /如果currentnode相同,我如何在视图列表中添加一个额外的/突出显示'视图项'?

时间:2017-11-11 16:59:34

标签: drupal drupal-8

我在视图中显示了一些teasers列表。 此视图包含在此内容类型中。 因此它显示在此内容类型的每个页面上。

如何在视图项中添加一个类,以便我可以将其激活?

1 个答案:

答案 0 :(得分:0)

根据您如何渲染视图,您应该使用预处理器,例如网格渲染

function MYTHEME_preprocess_views_view_grid(&$variables) {}

一旦你这样做,你可以在预处理器中添加一些逻辑,并根据这个逻辑添加类

function MYTHEME_preprocess_views_view_grid(&$variables) {
  $options = $variables['view']->style_plugin->options;
  $item_num = 0;
  $items = [];

  // Iterate over each rendered views result row.
  foreach ($variables['rows'] as $item) {
    // Add item attributes

     $item_attrs = [];
     $item_attrs['class'] = "view-grid__item view-grid__item--{$item_num}";
     $items[$item_num]['attributes'] = new Attribute($item_attrs);

     // Add item.content
     $items[$item_num]['content'] = $item;

     // Increase, decrease or reset appropriate integers.
     $item_num++;

      }

     // Add items to the variables array.
    $variables['items'] = $items;
}

在此处查看更多信息 https://api.drupal.org/api/drupal/core!modules!views!views.theme.inc/function/template_preprocess_views_view/8.2.x