Znalazłem dyskusję z niektórymi metodami dla d6 tutaj http://drupal.org/node/344802 o tym, jak zmienić tekst przycisku Zapisz w węźle na inny.
Jakieś wskazówki dla d7? Wolałbym używać interfejsu API.
Znalazłem dyskusję z niektórymi metodami dla d6 tutaj http://drupal.org/node/344802 o tym, jak zmienić tekst przycisku Zapisz w węźle na inny.
Jakieś wskazówki dla d7? Wolałbym używać interfejsu API.
Odpowiedzi:
możesz użyć modułu przesłonięcia łańcucha lub użyć haka:
function yourmodule_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'name_of_form') {
$form['actions']['submit']['#value'] = 'Your button text';
}
}
Oto przykład: utworzyłem moduł o nazwie, change_form_valuesa identyfikator formularza mojego typu treści to content_type_test_node_form:
ta praca dla mnie w 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';
}
}
ta praca dla mnie w 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';
}
}
Mam nadzieję, że informacje będą przydatne.
Znalazłem do tego doskonały moduł edycji przycisków Node i działa on naprawdę w naszym pudełku za pomocą administratora. Oto fragment ze strony projektu modułu:
Jest to prosty, mały moduł, który pozwala zmieniać tekst w przyciskach „Zapisz”, „Podgląd” i „Usuń” w formularzu węzła.
Dla Drupal7 jest to proste:
$form['buttons'] = array(
'#type' => 'submit',
'#value' => t('Your desire text here'),
);
Bez dodatkowych funkcji ...
#weight, #validate, #submit...). Lepiej pójdź tylko na #value, jak napisano w innych odpowiedziach powyżej.