ノードの保存ボタンのテキストを変更するにはどうすればよいですか?


10

ノードの[保存]ボタンのテキストを他のsgに変更する方法について、http: //drupal.org/node/344802でd6のいくつかのメソッドとのディスカッションを見つけました。

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

おかげで、コンテンツタイプのみを変更したいので、文字列のオーバーライドは適切ではありません。フォームの変更コードを試しましたが、変更はありません。$ formをdpmでチェックしましたが、submit配列はありません。他のsgのように見える#submitしかありません。
giorgio79

これでうまくいきました。$ form_idは、そのコンテンツタイプの送信フォームに固有であるため、機能するはずです。
AndrewMRiv 2016

私にとっては$ form ['ajax-submit'] ['#value'] = 'xyz'でしたが、afbモジュールを使用してブロックフォームからノー​​ドを送信しています。
SpiesInOrbit

6

次に例を示します。私はというモジュールを作成しchange_form_values、コンテンツタイプのフォームIDは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

私はこのための優れたノードボタン編集モジュールを見つけました。これは、adminを使用して私たちのボックスで実際に機能します。以下は、モジュールのプロジェクトページからの抜粋です。

これは、ノードフォームの[保存]、[プレビュー]、および[削除]ボタンのテキストを変更できるようにする単純な小さなモジュールです。


0

Drupal7の場合、それは単純です。

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

補助機能なし...


いや、それによって全体のボタンを上書きyou'ldし、元々与えられた可能性、他の値をリセット(#weight#validate#submit...)。#value上記の他の回答で書かれているように、あなただけのために行くべきです。
leymannx 2016年

私は自分のサイトの3つの形式でテストしましたが、すべて正常に動作しています...ボタンに関連するある種のコールバック関数またはajax関数を使用している場合、あなたが言ったことは可能だと思います...
Hawk
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.