Score:1

ทำให้ฟิลด์ชื่อเรื่องเป็น "ไม่จำเป็น" หรือวิธีแก้ปัญหาวิธีเติมคำนำหน้าและซ่อน (drupal 9.2.8)

ธง ug

ในเว็บไซต์ของฉัน (drupal 9.2.8) ผู้ใช้เพิ่มเนื้อหาและไม่จำเป็นต้องใส่ข้อมูลใดๆ ลงในฟิลด์ 'ชื่อเรื่อง' ฉันพยายามทำให้ฟิลด์นี้ไม่ต้องการผ่าน form_alter ในโมดูลที่กำหนดเอง แต่ไม่ได้ผล:

ฟังก์ชัน yourmodule_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id){
  ถ้า ($form['#form_id'] == 'node_somenode_form' หรือ $form['#form_id'] == 'node_somenode_form'){
    $form['title']['widget']['0']['#required'] = FALSE; // ไม่ทำงาน
    $form['title']['widget']['#required'] = FALSE; // ไม่ทำงาน
    $form['title']['#required'] = FALSE; // ไม่ทำงาน
  }
}

วิธีแก้ปัญหาในโมดูลของฉัน ฉันเติมชื่อล่วงหน้าโดยใช้ form_alter:

$form['title']['widget']['0']['value']['#default_value'] = 'ชื่อเริ่มต้นใดๆ';

แล้วซ่อนฟิลด์นี้จากแบบฟอร์ม มีสองสามวิธีในการทำเช่นนั้น (ในแบบฟอร์มแก้ไขวิธีซ่อนฟิลด์ต่างกันอย่างไรและอะไรคือความแตกต่างระหว่างพวกเขา ) ฉันตัดสินใจใช้การซ่อน:

ซ่อน ($ แบบฟอร์ม ['ชื่อเรื่อง']);

แต่ฉันอยากรู้ทำไม ['#จำเป็น'] = FALSE; ใช้ไม่ได้กับฟิลด์ Title แต่ใช้งานได้ดีกับฟิลด์อื่น

Score:1
ธง bd

คุณควรใช้ ป้ายกำกับเอนทิตีอัตโนมัติ:

"ป้ายกำกับเอนทิตีอัตโนมัติ" เป็นโมดูลขนาดเล็กและมีประสิทธิภาพที่อนุญาตให้ซ่อนฟิลด์ป้ายกำกับเอนทิตี

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา