|
@@ -53,10 +53,49 @@ function popsu_preprocess_region(&$variables) {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-// function popsu_theme_suggestions_views_view_alter(array &$suggestions, array $variables) {
|
|
|
|
-// $elem = $variables;
|
|
|
|
-// //$suggestions[] = 'views_view__headerView';
|
|
|
|
-// /*if($variables['elements']['#id'] == 'customsearchform'){
|
|
|
|
-// $suggestions[] = 'block__custom_search_form';
|
|
|
|
-// }*/
|
|
|
|
-// }
|
|
|
|
|
|
+/**
|
|
|
|
+ * Implements hook_preprocess_block().
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+ 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();
|
|
|
|
+ }
|
|
|
|
+}
|