วิธีการเปลี่ยนข้อความปุ่มบันทึกโหนด?


10

ฉันพบการสนทนากับวิธีการบางอย่างสำหรับ d6 ที่นี่http://drupal.org/node/344802 เกี่ยวกับวิธีการเปลี่ยนข้อความปุ่ม "บันทึก" ของโหนดเป็น sg อื่น

มีคำแนะนำสำหรับ 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 อย่างอื่น
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

ฉันพบโมดูลแก้ไขปุ่ม Node ที่ยอดเยี่ยมสำหรับสิ่งนี้และมันใช้งานได้จริงโดยใช้ผู้ดูแลระบบ นี่คือข้อความที่ตัดตอนมาจากหน้าโครงการของโมดูล:

นี่เป็นโมดูลขนาดเล็กที่ช่วยให้ผู้ใช้สามารถเปลี่ยนข้อความบนปุ่ม 'บันทึก', 'ตัวอย่าง' และ 'ลบ' บนฟอร์มโหนด


0

สำหรับ Drupal7 นั้นง่ายมากเพียง:

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

ฟังก์ชั่น adhional Wihtout ...


Nah โดยที่ you'ld เขียนทับปุ่มรีเซ็ตทั้งหมดและค่าอื่น ๆ ไปได้รับเดิม ( #weight, #validate, #submit... ) คุณควรไปได้ดีกว่า#valueเช่นเขียนในคำตอบอื่น ๆ
leymannx

ฉันทดสอบกับ 3 รูปแบบของเว็บไซต์ของฉันและพวกเขาทั้งหมดทำงานได้ดี ... ฉันเดาสิ่งที่คุณพูดอาจเป็นไปได้ถ้าคุณใช้ฟังก์ชั่นการโทรกลับหรือฟังก์ชั่น ajax ที่เกี่ยวข้องกับปุ่ม ....
Hawk
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.