Làm thế nào để thay đổi nút lưu văn bản nút?


10

Tôi đã tìm thấy một cuộc thảo luận với một số phương pháp cho d6 tại đây http://drupal.org/node/344802 về cách thay đổi văn bản nút "Lưu" nút thành sg khác.

Bất cứ lời khuyên cho d7? Tôi muốn sử dụng mẫu api.

Câu trả lời:


19

bạn có thể sử dụng mô đun ghi đè chuỗi hoặc sử dụng hook:

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

Cảm ơn, tôi chỉ muốn thay đổi nó cho một loại nội dung nên ghi đè chuỗi là không tốt. Tôi đã thử mã thay đổi hình thức nhưng không thay đổi. Tôi đã kiểm tra biểu mẫu $ với dpm, nhưng nó không có mảng gửi, chỉ có một #submit trông giống như sg khác.
giorgio79

Điều này làm việc cho tôi. $ Form_id là duy nhất cho dạng gửi của loại nội dung đó, vì vậy nó sẽ hoạt động.
AndrewMRiv

đối với tôi đó là $ form ['ajax-submit'] ['# value'] = 'xyz', nhưng tôi đang sử dụng mô-đun afb để gửi một nút thông qua một hình thức khối.
SpiesInOrbit

6

Dưới đây là một ví dụ: Tôi đã tạo một mô-đun được gọi change_form_valuesvà ID biểu mẫu của loại nội dung của tôi là content_type_test_node_form:

công việc này đối với tôi trong 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';
    }
}

công việc này đối với tôi trong 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';
    }
}

Tôi hy vọng thông tin sẽ hữu ích.


0

Tôi tìm thấy mô-đun chỉnh sửa nút Node tuyệt vời cho việc này và nó hoạt động thực sự của chúng tôi bằng cách sử dụng quản trị viên. Đây là một đoạn trích về nó từ trang dự án của mô-đun:

Đây là một mô-đun nhỏ đơn giản cho phép một người thay đổi văn bản trên các nút 'Lưu', 'Xem trước' và 'Xóa' trên một hình thức nút.


0

Đối với Drupal7, nó chỉ đơn giản:

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

Chức năng quảng cáo Wihtout ...


Nah, bởi đó you'ld ghi đè lên toàn bộ nút và đặt lại giá trị khác có thể trao ban ( #weight, #validate, #submit...). Bạn chỉ nên đi cho #value, như được viết trong các câu trả lời khác ở trên.
leymannx

tôi đã thử nghiệm với 3 dạng trang web của mình và tất cả chúng đều hoạt động tốt ... tôi đoán những gì bạn nói có thể khả thi nếu bạn sử dụng một số loại chức năng gọi lại hoặc chức năng ajax liên quan đến nút ....
Hawk
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.