Як змінити текст кнопки збереження вузла?


10

Тут я знайшов дискусію з деякими методами для d6 http://drupal.org/node/344802 про те, як змінити текст кнопки вузла "Зберегти" на sg else.

Будь-які поради щодо d7? Я вважаю за краще використовувати форму api.

Відповіді:


19

ви можете використовувати модуль переопределення рядків або використовувати гачок:

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

Дякую, я хочу лише змінити його для типу вмісту, щоб переосмислити рядок - це не добре. Я спробував змінити форму коду форми, але жодних змін. Я перевірив форму $ з dpm, але в ній немає масиву подання, лише #submit, який виглядає як sg else.
giorgio79

Це працювало для мене. $ Form_id унікальний для форми подання цього типу вмісту, тому він повинен працювати.
AndrewMRiv

для мене це була форма $ ['ajax-submit'] ['# value'] = 'xyz', але я використовую модуль afb для подання вузла через форму блоку.
SpiesInOrbit

6

Ось приклад: я створив модуль під назвою, change_form_valuesідентифікатор форми мого типу вмісту content_type_test_node_form:

ця робота для мене в 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';
    }
}

ця робота для мене в 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';
    }
}

Сподіваюся, інформація буде корисною.


0

Я знайшов для цього чудовий модуль редагування кнопок «Вузол», і він працює дійсно в коробці за допомогою адмін. Ось уривок про це зі сторінки проекту модуля:

Це простий маленький модуль, який дозволяє змінювати текст на кнопках «Зберегти», «Попередній перегляд» та «Видалити» у формі вузла.


0

Для Drupal7 це просто:

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

Без додаткових функцій ...


Нах, тим you'ld перезаписати кнопку цілого і скинути інші можливі значення , зазначені спочатку ( #weight, #validate, #submit...). Вам краще піти лише на те #value, як написано в інших відповідях вище.
leymannx

Я перевірив 3 форми свого сайту, і всі вони чудово працюють ... я здогадуюсь, що ви сказали, що можливо, якщо ви використовуєте якусь функцію зворотного дзвінка або функцію ajax, пов'язану з кнопкою ....
Хоук,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.