¿Cómo cambiar el texto del botón de guardar nodo?

10

Encontré una discusión con algunos métodos para d6 aquí http://drupal.org/node/344802 sobre cómo cambiar el texto del botón "Guardar" del nodo a sg else.

¿Algún consejo para d7? Preferiría usar el formulario api.

giorgio79
fuente

Respuestas:

19

podría usar el módulo de anulaciones de cadena o el gancho:

function yourmodule_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'name_of_form') {
    $form['actions']['submit']['#value'] = 'Your button text';
  }
}
uwe
fuente
Gracias, solo quiero cambiarlo por un tipo de contenido, por lo que la anulación de cadena no es buena. Intenté el formulario alterar código pero no cambié. Revisé el formulario $ con dpm, pero no tiene una matriz de envío, solo un #submit que se parece a sg else.
giorgio79
Esto funcionó para mí. $ Form_id es exclusivo del formulario de envío de ese tipo de contenido, por lo que debería funcionar.
AndrewMRiv
para mí fue un $ form ['ajax-submit'] ['# value'] = 'xyz', pero estoy usando el módulo afb para enviar un nodo a través de un formulario de bloque.
SpiesInOrbit
6

Aquí hay un ejemplo: he creado un módulo llamado change_form_valuesy el ID de formulario de mi tipo de contenido es content_type_test_node_form:

Este trabajo para mí en 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';
    }
}

Este trabajo para mí en 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';
    }
}

Espero que la información sea útil.

cigotete
fuente
0

Encontré el excelente módulo de edición de botones de nodo para esto y funciona realmente de la caja usando admin. Aquí hay un extracto al respecto de la página del proyecto del módulo:

Este es un pequeño módulo simple que permite cambiar el texto en los botones 'Guardar', 'Vista previa' y 'Eliminar' en un formulario de nodo.

qasimzee
fuente
0

Para Drupal7 es simple:

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

Sin funciones adicionales ...

Halcón
fuente
No, por que you'ld sobrescribir el botón conjunto y restablecer posibles otros valores dados originalmente ( #weight, #validate, #submit...). Será mejor que solo vaya por el #value, como está escrito en las otras respuestas anteriores.
leymannx
Lo probé con 3 formas de mi sitio y todas están funcionando bien ... supongo que lo que dijiste podría ser posible si estás usando algún tipo de función de devolución de llamada o función ajax relacionada con el botón ...
Hawk