ฉันพบการสนทนากับวิธีการบางอย่างสำหรับ d6 ที่นี่http://drupal.org/node/344802 เกี่ยวกับวิธีการเปลี่ยนข้อความปุ่ม "บันทึก" ของโหนดเป็น sg อื่น
มีคำแนะนำสำหรับ d7 ไหม? ฉันต้องการใช้แบบฟอร์ม API
ฉันพบการสนทนากับวิธีการบางอย่างสำหรับ d6 ที่นี่http://drupal.org/node/344802 เกี่ยวกับวิธีการเปลี่ยนข้อความปุ่ม "บันทึก" ของโหนดเป็น sg อื่น
มีคำแนะนำสำหรับ d7 ไหม? ฉันต้องการใช้แบบฟอร์ม API
คำตอบ:
คุณสามารถใช้โมดูลแทนที่สตริงหรือใช้ตะขอ:
function yourmodule_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'name_of_form') {
$form['actions']['submit']['#value'] = 'Your button text';
}
}
นี่คือตัวอย่าง: ฉันได้สร้างโมดูลที่เรียกว่า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';
}
}
ฉันหวังว่าข้อมูลจะเป็นประโยชน์
ฉันพบโมดูลแก้ไขปุ่ม Node ที่ยอดเยี่ยมสำหรับสิ่งนี้และมันใช้งานได้จริงโดยใช้ผู้ดูแลระบบ นี่คือข้อความที่ตัดตอนมาจากหน้าโครงการของโมดูล:
นี่เป็นโมดูลขนาดเล็กที่ช่วยให้ผู้ใช้สามารถเปลี่ยนข้อความบนปุ่ม 'บันทึก', 'ตัวอย่าง' และ 'ลบ' บนฟอร์มโหนด
สำหรับ Drupal7 นั้นง่ายมากเพียง:
$form['buttons'] = array(
'#type' => 'submit',
'#value' => t('Your desire text here'),
);
ฟังก์ชั่น adhional Wihtout ...
#weight
, #validate
, #submit
... ) คุณควรไปได้ดีกว่า#value
เช่นเขียนในคำตอบอื่น ๆ