00001 <?php 00002 00009 class views_handler_field_aggregator_title_link extends views_handler_field { 00010 function construct() { 00011 parent::construct(); 00012 $this->additional_fields['link'] = 'link'; 00013 } 00014 00015 function option_definition() { 00016 $options = parent::option_definition(); 00017 00018 $options['display_as_link'] = array('default' => TRUE); 00019 00020 return $options; 00021 } 00022 00026 function options_form(&$form, &$form_state) { 00027 $form['display_as_link'] = array( 00028 '#title' => t('Display as link'), 00029 '#type' => 'checkbox', 00030 '#default_value' => !empty($this->options['display_as_link']), 00031 ); 00032 parent::options_form($form, $form_state); 00033 } 00034 00035 function render($values) { 00036 $value = $this->get_value($values); 00037 return $this->render_link($this->sanitize_value($value), $values); 00038 } 00039 00040 function render_link($data, $values) { 00041 $link = $this->get_value($values, 'link'); 00042 if (!empty($this->options['display_as_link'])) { 00043 $this->options['alter']['make_link'] = TRUE; 00044 $this->options['alter']['path'] = $link; 00045 $this->options['alter']['html'] = TRUE; 00046 } 00047 00048 return $data; 00049 } 00050 }