diff --git a/rules_link.views.inc b/rules_link.views.inc index f9c9d16..dc07865 100644 --- a/rules_link.views.inc +++ b/rules_link.views.inc @@ -29,6 +29,7 @@ function rules_link_views_data() { */ class views_handler_field_rules_link extends views_handler_field_entity { function render($value) { + $title = ''; $replacements = filter_xss_admin($this->options['rules_link']['rules_link_parameters']); $token = $this->get_render_tokens(''); $parameters = array_filter(explode(',', strtr($replacements, $token))); @@ -44,12 +45,19 @@ class views_handler_field_rules_link extends views_handler_field_entity { // the entities which have the correct bundle. if (empty($rules_link->settings['bundles']) || in_array($bundle, $rules_link->settings['bundles'])) { $output = rules_link_render_link($rules_link, $id, drupal_get_destination(), $parameters); - if (isset($this->options['rules_link']['rules_link_rewrite']) && !empty($this->options['rules_link']['rules_link_rewrite'])) { - $output['#options']['html'] = TRUE; - $output['#title'] = strtr($this->options['rules_link']['rules_link_rewrite'], $this->get_render_tokens('')); + if (!empty($output)) { + $this->options['alter']['make_link'] = TRUE; + $this->options['alter']['path'] = $output['#href']; + if (isset($output['#attributes']['class'])) { + $this->options['alter']['link_class'] .= implode(' ', $output['#attributes']['class']); + } + if ($this->options['rules_link']['rules_link_rewrite']) { + $output['#title'] = strtr($this->options['rules_link']['rules_link_rewrite'], $this->get_render_tokens('')); + } + $title = $output['#title']; } - return $output; } + return $title; } /**