| 
					
				 | 
			
			
				@@ -61,4 +61,47 @@ function popsu_preprocess_views_view_unformatted(&$variables) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 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($attributes = $options['attributes']){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if($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(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |