[RISOLTO] Personalizzare textfield di un filtro esposto della view

2 contenuti / 0 new
Ultimo contenuto
[RISOLTO] Personalizzare textfield di un filtro esposto della view

Ciao a tutti.
Come da oggetto, sto cercando di personalizzare una textfield che fa parte di alcuni filtri esposti di una view. Quello che vorrei fare, è personalizzare solo quella textfield (cambiando il size, ecc.), lasciando invariate quelle del resto del sito.
Tutto ciò deriva da una necessità descritta qui...

Bene, ce l'ho fatta! Ho aggiunto questo codice nel mio template:

/**
* Format a textfield.
*
* @param $element
*   An associative array containing the properties of the element.
*   Properties used:  title, value, description, size, maxlength, required, attributes autocomplete_path
* @return
*   A themed HTML string representing the textfield.
*
* @ingroup themeable
*/
function phptemplate_textfield($element) {
if ($element['#id'] == 'edit-tax') {
  $size = 150;
  $maxlength = empty($element['#maxlength']) ? '' : ' maxlength="'. $element['#maxlength'] .'"';
  $class = array('form-text');
  $extra = '';
  $output = '';
  if ($element['#autocomplete_path'] && menu_valid_path(array('link_path' => $element['#autocomplete_path']))) {
    drupal_add_js('misc/myautocomplete.js');
    $class[] = 'form-autocomplete';
    $extra =  '<input class="autocomplete" type="hidden" id="'. $element['#id'] .'-autocomplete" value="'. check_url(url($element['#autocomplete_path'], array('absolute' => TRUE))) .'" disabled="disabled" />';
  }
  _form_set_class($element, $class);
  if (isset($element['#field_prefix'])) {
    $output .= '<span class="field-prefix">'. $element['#field_prefix'] .'</span> ';
  }
  $output .= '<input type="text"'. $maxlength .' name="'. $element['#name'] .'" id="'. $element['#id'] .'"'. $size .' value="type here'. check_plain($element['#value']) .'"'.'onfocus="if(this.value == \'type here\')  { this.value = \'\'; }"'. drupal_attributes($element['#attributes']) .' />';
  if (isset($element['#field_suffix'])) {
    $output .= ' <span class="field-suffix">'. $element['#field_suffix'] .'</span>';
  }
  return theme('form_element', $element, $output) . $extra;
}
else {
  $size = empty($element['#size']) ? '' : ' size="'. $element['#size'] .'"';
  $maxlength = empty($element['#maxlength']) ? '' : ' maxlength="'. $element['#maxlength'] .'"';
  $class = array('form-text');
  $extra = '';
  $output = '';
  if ($element['#autocomplete_path'] && menu_valid_path(array('link_path' => $element['#autocomplete_path']))) {
    drupal_add_js('misc/autocomplete.js');
    $class[] = 'form-autocomplete';
    $extra =  '<input class="autocomplete" type="hidden" id="'. $element['#id'] .'-autocomplete" value="'. check_url(url($element['#autocomplete_path'], array('absolute' => TRUE))) .'" disabled="disabled" />';
  }
  _form_set_class($element, $class);
  if (isset($element['#field_prefix'])) {
    $output .= '<span class="field-prefix">'. $element['#field_prefix'] .'</span> ';
  }
  $output .= '<input type="text"'. $maxlength .' name="'. $element['#name'] .'" id="'. $element['#id'] .'"'. $size .' value="'. check_plain($element['#value']) .'"'. drupal_attributes($element['#attributes']) .' />';
  if (isset($element['#field_suffix'])) {
    $output .= ' <span class="field-suffix">'. $element['#field_suffix'] .'</span>';
  }
  return theme('form_element', $element, $output) . $extra;
}
}

'edit-tax' è l'id della textfield.