Score:1

ตั้งค่าฟิลด์เอนทิตีเป็นแบบอ่านอย่างเดียวหลังจากที่ผู้ใช้ป้อนข้อมูล

ธง ru

ฉันใช้ hook_entity_presave() เพื่อตรวจสอบเงื่อนไขและตั้งค่าฟิลด์ ฉันต้องการตั้งค่าฟิลด์เป็นแบบอ่านอย่างเดียวหลังจากผ่านเงื่อนไขทั้งหมดและค่าถูกบันทึกลงในฐานข้อมูล เป็นไปได้ไหมที่จะบรรลุสิ่งนี้หรือฉันต้องใช้ตะขออื่นสำหรับสิ่งนี้

cn flag
อ่านอย่างเดียวสำหรับผู้ใช้ที่ตั้งค่า? สำหรับผู้ใช้ทั้งหมด? สำหรับผู้ดูแลระบบ? หากต้องการใช้งานบางอย่าง เช่น อ่านอย่างเดียว คุณสามารถใช้ `hook_form_alter()` ในแบบฟอร์มแก้ไขเพื่อยกเลิกการตั้งค่าฟิลด์หากมีค่าอยู่แล้ว
Bass-Ninja avatar
ru flag
@PatrickKenny ขอโทษที่ไม่ชัดเจน สำหรับผู้ใช้ที่ตั้งค่าฟิลด์เท่านั้น ฉันต้องการหลีกเลี่ยงไม่ให้พวกเขาเปลี่ยนค่าหลังจากที่ตั้งค่าแล้ว
cn flag
ผู้ใช้แต่ละคนสามารถแก้ไขเฉพาะเนื้อหาของผู้ใช้เองได้หรือไม่ หรือผู้ใช้หลายคนสามารถแก้ไขเนื้อหาชิ้นเดียวกันได้หรือไม่ (หากผู้ใช้หลายคนสามารถแก้ไขเนื้อหาชิ้นเดียวกันได้ ก็จำเป็นต้องติดตามว่าใครแก้ไขฟิลด์ใดฟิลด์หนึ่ง ซึ่งเป็นสิ่งที่ Drupal ไม่ทำนอกกรอบ)
Bass-Ninja avatar
ru flag
ผู้ใช้ปัจจุบันเป็นคนเดียวที่แก้ไขเนื้อหา นอกจากนี้ ฉันยังสามารถบรรลุผลที่ต้องการได้ด้วย hook_form_alter() ขอขอบคุณ.
cn flag
เยี่ยม โปรดโพสต์รหัสของคุณ (หรือตัวอย่างที่คล้ายกัน) เพื่อเป็นคำตอบสำหรับผู้เยี่ยมชมไซต์ในอนาคต
Score:0
ธง ru

ฉันสามารถบรรลุผลลัพธ์ได้โดยใช้เบ็ดต่อไปนี้:

ฟังก์ชัน check_form_alter (&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
  ถ้า ($form_id == "form_id") {
    $form['field_example'][#disabled"] = TRUE;
  }
}
Score:0
ธง kr

ปิดใช้งานฟิลด์ โมดูลคือสิ่งที่คุณกำลังมองหา

ปิดการใช้งานโมดูลฟิลด์ ช่วยให้คุณปิดใช้งานฟิลด์ประเภทเนื้อหาใด ๆ ... ตามบทบาทที่เลือกโดยผู้ดูแลระบบ

โพสต์คำตอบ

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