ซ่อนฟิลด์เมื่อสร้างโหนด


11

ฉันจะซ่อนฟิลด์เมื่อสร้างโหนด แต่แสดงฟิลด์ได้เมื่อแก้ไขโหมดได้อย่างไร

คำตอบ:


16

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

function test_remove_field_form_alter(&$form, &$form_state) {

    if (arg(0) == 'node' && arg(1) == 'add') {
    $form['field_test']['#access'] = 0;
    }

}

หมายเหตุ: โปรดจำไว้ว่าfield_testต้องเป็นชื่อเขตข้อมูลของคุณ


ขอขอบคุณ. ฉันไม่คุ้นเคยกับการสร้างโมดูล มี CSS หรือเคล็ดลับชุดรูปแบบการทำเช่นนี้?
user780

สวัสดี av, เกี่ยวกับคำถามของคุณ, ใช่, เป็นไปได้, คุณสามารถเพิ่มการประกาศ IF แบบเดียวกันใน page.tpl.php (ภายในโซนส่วนหัว) และเพิ่มภายในการประกาศกฎ CSS (ID หรือคลาส) ตามลำดับเพื่อลบฟิลด์ของคุณ: # field_name_test {display: none;}
cigotete

1
นี่คือรหัสของการทดสอบของฉัน: <? php if (arg (0) == 'node' && arg (1) == 'เพิ่ม') {?> <style type = "text / css"> #field_name_test {display :ไม่มี; } </style> <? php}?>
cigotete

4

สนามสิทธิ์โมดูลช่วยให้คุณสามารถใช้สิทธิ์ระดับเขตชุด:

  • สร้างฟิลด์ (แก้ไขการสร้างเนื้อหา)
  • แก้ไขฟิลด์โดยไม่คำนึงถึงผู้เขียนเนื้อหา
  • แก้ไขฟิลด์ของตัวเองในเนื้อหาที่สร้างโดยผู้ใช้
  • ดูฟิลด์โดยไม่คำนึงถึงผู้เขียนเนื้อหา
  • ดูฟิลด์ของตัวเองในเนื้อหาที่สร้างโดยผู้ใช้

คุณสามารถใช้ตัวเลือกเหล่านี้เพื่อเปิดใช้งานการอนุญาตตามบทบาทสำหรับเขตข้อมูล

เมื่อเปิดใช้งานการอนุญาตการเข้าถึงฟิลด์นี้จะถูกปฏิเสธโดยค่าเริ่มต้นและสิทธิ์ที่ชัดเจนควรได้รับการกำหนดบทบาทผู้ใช้ที่เหมาะสมจากหน้าการจัดการสิทธิ์ ในทางกลับกันเมื่อตัวเลือกเหล่านี้ถูกปิดใช้งานการอนุญาตให้ใช้สิทธิ์ฟิลด์จะได้รับมาจากมุมมองเนื้อหาและ / หรือแก้ไขการอนุญาต ตัวอย่างเช่นผู้ใช้ที่ได้รับอนุญาตให้ดูโหนดเฉพาะจะสามารถดูฟิลด์นี้และอื่น ๆ ได้

การอนุญาตภาคสนาม


3

ฉันจะใช้hook_form_alter ()และตั้งค่า['#access']คุณสมบัติFALSEเช่นเดียวกับคำตอบโดย @ moon.watcher

หากคุณอยู่ใน Drupal 6 คุณต้องมีโมดูลสำหรับทำสิ่งนี้ ใน Drupal 7 คุณสามารถโทรhook_form_alter ()จากเทมเพลตของคุณ


2

นี้เป็นกรณีการใช้งานสำหรับกฎในแบบฟอร์มการสนับสนุนโมดูล - https://www.drupal.org/project/rules_forms

คุณสมบัติรวมถึง:

  • เปิดใช้งานกิจกรรมสำหรับการสร้างแบบฟอร์มการตรวจสอบความถูกต้องและการส่งแบบฟอร์มต่อแบบฟอร์ม
  • กำหนดเป้าหมายองค์ประกอบรูปแบบส่วนบุคคลหรือทั้งรูปแบบในเงื่อนไขและการกระทำ จัดการคุณลักษณะขององค์ประกอบแบบฟอร์มเช่นชื่อคำอธิบายน้ำหนักและอื่น ๆ
  • ตรวจสอบค่าขององค์ประกอบแบบฟอร์มในระหว่างการตรวจสอบแบบฟอร์ม
  • ตั้งค่าข้อผิดพลาดของฟอร์มเมื่อการตรวจสอบตามกฎล้มเหลว
  • เปลี่ยนเส้นทางผู้ใช้ไปยังหน้าอื่นเมื่อดูหรือส่งแบบฟอร์ม
  • ตรวจสอบคุณสมบัติขององค์ประกอบในรูปแบบที่ใช้งานอยู่ด้วยเครื่องมือตรวจสอบองค์ประกอบ

0

คุณสามารถใช้แบบฟอร์มเพิ่ม / แก้ไขโหนดด้วยหน้าแผงควบคุม ด้วยสิ่งนี้คุณสามารถเลือกและเลือกสิ่งที่คุณต้องการในแบบฟอร์ม

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