¿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.

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';
  }
}

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.


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.


0

Para Drupal7 es simple:

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

Sin funciones adicionales ...


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.