|
@@ -61,4 +61,47 @@ function popsu_preprocess_views_view_unformatted(&$variables) {
|
|
*/
|
|
*/
|
|
// function popsu_preprocess_block(&$variables) {
|
|
// function popsu_preprocess_block(&$variables) {
|
|
// $t="t";
|
|
// $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();
|
|
|
|
+ }
|
|
|
|
+}
|