id() == "programmes"){ $rows = $variables['rows']; foreach ($rows as $id => $row) { $variables['rows'][$id]['attributes'] = new Attribute(); $c = $variables['rows'][$id]['content']["#row"]->nid; $variables['rows'][$id]['attributes']->addClass("popsu-node-".$c); //kint($variables['rows'][$id]['content']["#row"]->nid); } }else{ if ($view->current_display == "block_1") { $rows = $variables['rows']; foreach ($rows as $id => $row) { $variables['rows'][$id]['attributes'] = new Attribute(); $c = $variables['rows'][$id]['content']["#row"]->nid; $variables['rows'][$id]['attributes']->addClass("popsu-node-".$c); } } } /* $rows = $variables['rows']; $style = $view->style_plugin; $options = $style->options; $variables['default_row_class'] = !empty($options['default_row_class']); */ /* foreach ($rows as $id => $row) { $variables['rows'][$id] = array(); $variables['rows'][$id]['content'] = $row; $variables['rows'][$id]['attributes'] = new Attribute(); if ($row_class = $view->style_plugin ->getRowClass($id)) { $variables['rows'][$id]['attributes'] ->addClass($row_class); } } */ }; /** * Implements hook_preprocess_block(). */ // function popsu_preprocess_block(&$variables) { // $t="t"; // } function popsu_preprocess_views_view_field(&$variables){ // check if link to entoty option is true $settings = $variables['field']->options['settings']; if ($settings['link_to_entity']) { // get the entity and build the classes $entity = $variables['row']->_entity; // build new classes $new_classes = array( $entity->getEntityTypeId(), $entity->getEntityTypeId().'-'.$entity->bundle(), $entity->getEntityTypeId().'-'.$entity->bundle().'-'.$entity->id() ); // get the entity link and url $link = $entity->toLink(); $url = $entity->toLink()->getUrl(); // set the active_class option to the url $url->setOption('set_active_class', true); // add new classes to the url (without overwriting existing once) $options = $url->getOptions(); if(isset($options['attributes']) && $attributes = $options['attributes']){ if(isset($attributes['class']) && $classes = $attributes['class']){ $attributes['class'] += $new_classes; }else{ $attributes['class'] = $new_classes; } }else{ $attributes = array( "class" => $new_classes ); } $url->setOption('attributes', $attributes); // update the url of the link $link->setUrl($url); // overwrite the output $variables['output'] = $link->toRenderable(); } }