Modificare valore default di una select required: come fare ?

8 contenuti / 0 new
Ultimo contenuto
Modificare valore default di una select required: come fare ?

Ho un campo costituito da una select required.
Non ho trovato da nessuna parte come cambiare il valore di default "- Select -" in qualcos'altro. Non mi riferisco al campo Any oppure all'opzione "0" (su questo ho trovato diverso materiale) ma proprio al valore che c'è prima, appunto "- Select -" che appare solo quando inserisco come proprietà ( '#required' => true )
Qualcuno sa dirmi come fare ?

Drupal Version:

allora fammi capire... tu crei (o modifichi il field) ottenendo un array del tipo:

$form['miocampo']array(
        '#type' => 'select',
        '#options' => array(...),
        '#required' => true
      );

giusto? quindi ovviamente essendo un campo obbligatorie tra le opzioni viene aggiunto "-Select-" il valore di tale opzione qual'è? [Any] o _none??? nessuno dei due??? hai già provato a definire anche [Any] o _none nell'array delle opzioni??

Si, come hai indicato tu. Essendo in locale non ho modo di mostrare il field purtroppo. Questo field si popola con i valori di un vocabolario della tassonomia.

Essendo un campo obbligatorio viene aggiunto "- Select -" iniziale e vorrei tradurre quel - Select - (inserito in quanto campo obbligatorio) in qualcosa di diverso.

Il problema che ho c'è solo quando rendo il campo è obbligatorio che appare quel maledetto - Select - iniziale.
Il mio problema non è da confondere nel definire l'opzione "zero", "tutti", "vuota" o "Any" (cosa diversa) li ho risolto con un modulo custom (VEDI SOTTO)

Le options appaiono grosso modo in questo modo:
- Select -
A
B
C
....

non so se mi sono spiegato, in ogni caso grazie per avermi risposto.

EDIT
Ecco il codice che uso per la select:

$form['miocampo']array(
'#type' => 'select',
  '#title' => t('Seleziona comune'),
    '#id' => 'form_field1',
  '#options' => custom_options_get_tax_term_options('comuni'),
        '#required' => true ,
);

poi ho un modulo custom_options
nel cui file custom_options.module ho inserito:

function custom_options_get_tax_term_options($machine_name){
    $vid = taxonomy_vocabulary_machine_name_load($machine_name)->vid;
    $options_source = taxonomy_get_tree($vid);
    foreach($options_source as $item ) {
        $key = $item->tid;
        $value = $item->name;
        $options[$key] = $value;
    }
    return $options;
}
/******************************************************
***   Delete the option -None- of the select list   ***
*******************************************************/
function custom_options_form_alter($form, &$form_state) {
    if ($form['form_id']['#id'] == 'form_field1') {
      $form['#after_build'][] = 'change_form_values_after_build'; //call to a function
    }
}
function change_form_values_after_build($form, &$form_state) {
  $new_array = array();
  $new_array = array('Yes' => 'Yes','No' => 'No');
  $form['field_test_select_list']['value']['#options'] = $new_array;
  return $form;
}

Sì ma quello che volevo sapere è il key dell'opzione -Select-
in teoria se prendi quel key e lo definisci in $options dandogli un titolo diverso da -Select- questo verrà stampato al suo posto...

Non ti seguo :(
più complicato di quello che immaginavo

Il key, penso sia un valore che determina il core Drupal, in quanto io non ho inserito nulla.

Fatto nuovo test, più semplice
Creata altra Select semplice con opzioni da me fissate del tipo:

$form['miocampo']array(
'#type' => 'select',
  '#title' => t('Choose an option'),
  '#options' => array(
    'value_1' => t('One'),
    'value_2' => t('Two'),
    'value_3' => t('Three'),
  ),
  '#required' => TRUE,
);

Ed ottengo sempre questo output:

- Select -
One
Two
Three

Quel -Select- deve essere messo lì dal core oppure dal modulo "Field"

se guardi il sorgente della pagina vedi qualcosa tipo:
<option value="..." selected="selected">-Select-</option>
???

se si mi dici cosa c'è scritto dentro value????

ad ogni modo... se quel value (come credo) è vuoto, fai così:

$form['miocampo']=array(
'#type' => 'select',
  '#title' => t('Choose an option'),
  '#options' => array(
    ''=>t('TUOTESTO A PIACERE'),
    'value_1' => t('One'),
    'value_2' => t('Two'),
    'value_3' => t('Three'),
  ),
  '#required' => TRUE,
  '#default_value' => variable_get('miocampo', '[Any]'),
);

Grazie!!!!!!!
Ho risolto con il tuo preziosissimo suggerimento. Te ne sono infinitamente riconoscente.
Non immagini quanto mi stavo sbattendo nel trovare una soluzione.

PS
In effetti era vuoto come dicevi
avevo
<option value="" selected="selected">- Select -</option>
mentre ora
<option value="">TUOTESTO A PIACERE</option>