노드 저장 버튼 텍스트를 변경하는 방법?


10

노드 "저장"버튼 텍스트를 다른 방법으로 변경하는 방법에 대한 d6에 대한 몇 가지 방법에 대한 토론이 여기 http://drupal.org/node/344802 에서 발견되었습니다 .

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으로 $ form을 확인했지만 submit 배열이 없으며 sg와 같은 #submit 만 있습니다.
giorgio79

이것은 나를 위해 일했습니다. $ form_id는 해당 컨텐츠 유형의 제출 양식에 고유하므로 작동해야합니다.
AndrewMRiv

나를 위해 그것은 $ 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

나는 이것을 위해 훌륭한 노드 버튼 편집 모듈을 발견했으며 실제로 관리자를 사용하여 상자에서 작동합니다. 다음은 모듈의 프로젝트 페이지에서 발췌 한 것입니다.

이것은 노드 형태의 '저장', '미리보기'및 '삭제'버튼의 텍스트를 변경할 수있는 간단한 작은 모듈입니다.


0

Drupal7의 경우 간단합니다.

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

추가 기능없이 ...


아니, 그것에 의하여 전체에서 알맞은 버튼을 덮어 주어 원래 가능한 다른 값을 재설정 ( #weight, #validate, #submit...). #value위의 다른 답변에 쓰여진 것처럼 에만 사용하는 것이 좋습니다 .
leymannx

내 사이트의 3 가지 형태로 테스트했는데 모두 제대로 작동합니다 ... 버튼과 관련된 콜백 함수 또는 아약스 기능을 사용하면 가능하다고 말한 것 같아요 ....
Hawk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.