Come modificare il testo del pulsante Salva nodo?


10

Ho trovato una discussione con alcuni metodi per d6 qui http://drupal.org/node/344802 su come cambiare il testo del pulsante "Salva" del nodo in sg else.

Qualche consiglio per d7? Preferirei usare il modulo API.

Risposte:


19

è possibile utilizzare il modulo di sostituzione delle stringhe o utilizzare hook:

function yourmodule_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'name_of_form') {
    $form['actions']['submit']['#value'] = 'Your button text';
  }
}

Grazie, voglio solo cambiarlo per un tipo di contenuto, quindi l'override delle stringhe non va bene. Ho provato il codice di modifica del modulo ma nessuna modifica. Ho controllato il modulo $ con dpm, ma non ha array di invio, solo un #submit che sembra sg else.
giorgio79,

Questo ha funzionato per me. $ Form_id è univoco per la forma di invio di quel tipo di contenuto, quindi dovrebbe funzionare.
AndrewMRiv,

per me era un $ form ['ajax-submit'] ['# value'] = 'xyz', ma sto usando il modulo afb per inviare un nodo attraverso un modulo a blocchi.
SpiesInOrbit,

6

Ecco un esempio: ho creato un modulo chiamato change_form_valuese l'ID modulo del mio tipo di contenuto è content_type_test_node_form:

questo lavoro per me in Drupal 7:

function change_form_values_form_alter(&$form, &$form_state, $form_id) {
    //dsm($form_id); // to see form ID
    if ($form_id == "content_type_test_node_form") {
    $form['actions']['submit']['#value'] = 'New button text';
    }
}

questo lavoro per me in Drupal 6:

function change_form_values_form_alter(&$form, &$form_state, $form_id) {
    //dsm($form['form_id']['#id']);
    if ($form_id == "content_type_test_node_form") {
    $form['buttons']['submit']['#value'] = 'New button text';
    }
}

Spero che le informazioni siano utili.


0

Ho trovato l'eccellente modulo di modifica dei pulsanti Nodo per questo e funziona davvero con la massima facilità usando admin. Ecco un estratto al riguardo dalla pagina del progetto del modulo:

Questo è un piccolo modulo semplice che consente di modificare il testo sui pulsanti "Salva", "Anteprima" ed "Elimina" in un modulo nodo.


0

Per Drupal7 è semplice:

$form['buttons'] = array(
    '#type' => 'submit',
    '#value' => t('Your desire text here'),
    );

Senza funzioni aggiuntive ...


Nah, da quel you'ld sovrascrivere il tasto insieme e ripristinare eventuali altri valori indicati in origine ( #weight, #validate, #submit...). Faresti meglio a cercare solo il #value, come scritto nelle altre risposte sopra.
leymannx,

ho provato con 3 forme del mio sito e tutti funzionano bene ... immagino che ciò che hai detto potrebbe essere possibile se stai usando una sorta di funzione di richiamata o una funzione Ajax relativa al pulsante ....
Hawk
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.