คำถามติดแท็ก entities

โหนดความคิดเห็นข้อกำหนดด้านอนุกรมวิธานและผู้ใช้ในศัพท์ที่ใช้ตั้งแต่ Drupal 7 มักเรียกว่า "เอนทิตี"


2
RuntimeException: ไม่สามารถกำหนดคลาสสำหรับประเภทฟิลด์ที่พบในการกำหนดค่า
เว็บไซต์ของฉันมีข้อผิดพลาดขณะอัปเดตจาก Drupal 8.3.7 เป็น Drupal 8.4.0 และฉันไม่สามารถแก้ไขได้ เว็บไซต์พบข้อผิดพลาดที่ไม่คาดคิด กรุณาลองใหม่อีกครั้งในภายหลัง. RuntimeException: ไม่สามารถกำหนดคลาสสำหรับประเภทฟิลด์ 'webform' ที่พบในการกำหนดค่า 'field.storage.node.webform' ใน Drupal \ field \ FieldStorageConfigStorage-> mapFromStorageRecords () 157 บรรทัดของ core / modules / field / src / FieldStorageConfigStorage PHP)
11 8  entities 

2
วิธีการเปลี่ยนโหมดมุมมองโดยทางโปรแกรม?
ฉันต้องการเปลี่ยนโหมดการดูของโหนดโดยทางโปรแกรม ฉันใช้hook_preprocess_node(&$vars)และตั้งค่าโหมดดู: function moduleName_preprocess_node(&$vars) { // if conditions to apply particular view mode $vars['view_mode'] = 'teaser'; $vars['elements']['#view_mode'] = 'teaser'; } แต่สิ่งนี้ไม่ทำงานตามที่คาดไว้ ฉันทำอะไรบางอย่างหายไปหรือเปล่า
11 7  nodes  entities 

3
รับค่าเขตข้อมูลโดยไม่ต้องโหลดโหนดทั้งหมดหรือไม่
ฉันมี NID จำนวนมากและฉันต้องการค่าฟิลด์หนึ่งค่าจากแต่ละโหนด มีวิธีใดที่จะหลีกเลี่ยงโอเวอร์เฮดของการโหลดทั้งโหนดเพื่อรับค่าฟิลด์หนึ่งค่าหรือไม่?
11 7  entities 

1
การอ้างอิงเอนทิตีเทียบกับอนุกรมวิธาน
สมมติว่าฉันมีทีมงานที่มีสมาชิก ฉันมีประเภทเนื้อหาสำหรับทีมและประเภทเนื้อหาสำหรับสมาชิกในทีมแต่ละคน สมมติว่ามีความสัมพันธ์อื่น ๆ เช่นทีมสามารถเป็นของแผนกและมีโครงการที่สามารถกำหนดให้กับบุคคลหรือทีม ตามที่ฉันเข้าใจมีสองวิธีที่ฉันสามารถกำหนดความสัมพันธ์ระหว่างเอนทิตีเหล่านี้ - การอ้างอิงเอนทิตีหรือการใช้คำอนุกรมวิธาน เมื่อใดที่ฉันควรใช้ประเภทหนึ่งทับอีกประเภทหนึ่ง เป็นการดีที่สุดที่จะเลือกวิธีเดียวหรือผสมกัน สำหรับผมมันดูเหมือนว่า Taxonomy นั้นมีความยืดหยุ่นมากที่สุดเพราะมันง่ายต่อการสร้างต้นไม้โดยใช้ประเภท taxonomy หรืออย่างเช่นถ้าอยู่ในทีมผมก็ตัดสินใจว่าผมอยากจะสร้างลำดับชั้นในทีมที่มีฟังก์ชั่นอยู่แล้ว คำศัพท์อนุกรมวิธานลงในลำดับชั้น) ในขณะที่ถ้าฉันใช้การอ้างอิงเอนทิตีฉันไม่สามารถคิดวิธีง่ายๆในการทำเช่นนั้น (นอกเหนือจากการเพิ่มอนุกรมวิธานซึ่งทำให้ผลลัพธ์ซ้ำซ้อน) รู้สึกเหมือนมีบางสิ่งที่ฉันไม่เข้าใจที่นี่ แต่ฉันไม่แน่ใจว่ามันคืออะไร! ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม

1
วิธีสร้างเอนทิตีที่กำหนดเองใน Drupal 8 [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ฉันมีโครงการส่วนบุคคลขนาดใหญ่ที่สร้างขึ้นบน Drupal 7 ซึ่งมีเอนทิตีที่กำหนดเองมากมาย ฉันต้องการเริ่มอัปเกรดโครงการเป็น Drupal 8 แต่หลัก Drupal 8 ที่เขียนขึ้นใหม่อย่างสมบูรณ์นั้นใหญ่เกินไปสำหรับฉันที่จะไปถึงที่อื่นโดยไม่ต้องใช้เอกสารประกอบใด ๆ (+ Symfony เป็นที่รู้จักโดยสิ้นเชิงสำหรับฉันแล้ว . ฉันพยายามสร้างเอนทิตีที่กำหนดเองโดยดูที่โค้ดคอร์บางส่วน แต่ไม่ประสบความสำเร็จ คุณช่วยชี้ให้ฉันดูบทความเกี่ยวกับเอนทิตีแบบกำหนดเองใน Drupal 8 (ฉันไม่สามารถค้นหาทีละรายการ) หรือให้คำแนะนำพื้นฐานทีละขั้นตอนได้หรือไม่ ขอบคุณ
10 entities  8 

1
ข้อใดมีประสิทธิภาพมากกว่านี้: entity_metadata_wrapper หรือ field_get_items
ในการรับค่าจากเอนทิตีมีสองวิธี: ใช้field_get_itemsและรับค่าของเขตข้อมูล ใช้entity_metadata_wrapperและรับค่าของเขตข้อมูล แม้ว่าจะentity_metadata_wrapperมีความแตกต่างทางด้านภาษาอยู่บ้าง แต่บางครั้ง API ก็ยังคงไม่แน่นอนโดยเฉพาะอย่างยิ่งเมื่อใช้ PHP 5.3 ตัวอย่างเช่นการรับค่าของฟิลด์ข้อความแบบยาวมักจะเป็นเส้นทางนี้: $field = $wrapper->field->value(); print $field['safe_value']; โชคดี, PHP 5.4 print $wrapper->field->value()['safe_value'];สนับสนุนรูปแบบนี้: แต่คำถามของฉันมีความกังวลมากขึ้นเกี่ยวกับประสิทธิภาพ พวกเขาทั้งสองทำงานอย่างไร พวกเขาสอบถามฐานข้อมูลทุกครั้งที่ขอค่าหรือไม่ ไม่entity_metadata_wrapperขอให้ทุกอย่างในครั้งเดียว? (การทำให้field_get_itemเหมาะกับการดึงข้อมูลค่าเดียว) ฉันไม่กล้าพอที่จะดำดิ่งลงสู่แหล่ง Drupal

4
วิธีรับรายการประเภทฟิลด์?
ฉันกำลังย้ายโมดูลจาก Drupal 7 ไปยัง Drupal 8 ในการตั้งค่าการกำหนดค่าของโมดูลนี้ฉันต้องได้รับรายการประเภทฟิลด์ที่มีอยู่ในปัจจุบัน ใน Drupal 7 สิ่งนี้สามารถทำได้โดยใช้field_info_field_types()ฟังก์ชั่น ใน Drupal 8 (8.0.0-rc3) ฉันได้รับข้อผิดพลาด "ไม่มีฟังก์ชั่น" แม้จะมีข้อมูลที่ระบุไว้ในหน้าช่วยเหลือการอ้างอิง Drupal APIชัดเจนว่าล้าสมัย จากนั้นตรวจสอบผมพบว่าหน้า DrupalContribDrupal::service('plugin.manager.entity.field.field_type')->getDefinitions()ที่ฟังก์ชั่นที่มีการประกาศเลิกใช้และเสนอให้ใช้งานในขณะนี้ แต่การใช้มันทำให้เกิดข้อผิดพลาดอื่น "บริการที่ไม่รู้จัก plugin.manager.entity.field.field_type" โชคดีที่เกี่ยวข้องกับคำแนะนำ "คุณหมายถึง plugin.manager.field.field_type หรือไม่" ดังนั้นฉันจึงลองใช้Drupal::service('plugin.manager.field.field_type')->getDefinitions()และว้าว: ฉันได้อาร์เรย์ประเภทฟิลด์ที่คาดหวัง แต่สมาชิกอาเรย์แต่ละคน (หนึ่งประเภทเขตข้อมูล) ตอนนี้เป็นวัตถุ (แทนที่จะเป็นอาร์เรย์ลูก) และข้อมูลที่ฉันกำลังมองหาอยู่ภายในคุณสมบัติที่มีการป้องกันดังนั้นฉันจึงไม่สามารถเข้าถึงพวกเขาได้ ในขั้นตอนนี้ฉันติดอยู่ ฉันคิดว่ามันอาจมีบางคลาสที่ฉันสามารถขยายเพื่อสำรวจข้อมูลเหล่านี้ได้ แต่ไม่มีโชค: ฉันไม่สามารถคิดได้อย่างชัดเจนว่าส่วนประกอบใดใน Drupal 8 ที่นิยามประเภทฟิลด์เป็นส่วนกลาง
10 entities  8 

2
วิธีการกำหนดฟังก์ชั่น preprocess นิติบุคคล
โมดูลที่กำหนดเองของฉันกำหนดเอนทิตีที่กำหนดเองซึ่งขยายคลาส EntityAPIController ฉันจัดการเพื่อให้มันทำงานโดยทั่วไปคือการแสดงฟิลด์ ฯลฯ ผ่านไฟล์ tpl.php ที่กำหนดเองของฉัน แต่ฉันต้องการสร้างmymodule_preprocess_entityฟังก์ชั่น (ตามที่แนะนำไว้ที่นี่ ) เพื่อเพิ่มตัวแปรที่กำหนดเองลงในไฟล์ tpl.php แต่ฟังก์ชั่นดังกล่าวไม่ทำงาน (ไม่ได้ถูกเรียก) นอกจากนี้เมื่อฉันแสดงเอนทิตีนี้ฉันสังเกตเห็นว่าฟังก์ชั่นtemplate_preprocess_entity(&$variables)จากเอนทิตี้ของโมดูลไม่ทำงานเช่นกัน ต้องกำหนดอะไรอีกเพื่อให้มีการเรียกใช้ฟังก์ชัน preprocess สำหรับเอนทิตีแบบกำหนดเอง
10 7  theming  entities 

6
ฉันจะลบโคลอนออกจากป้ายกำกับฟิลด์ของฉันได้อย่างไร
ฉันต้องการลบเครื่องหมายโคลอนออกจากเลเบลฟิลด์ที่แสดงผลของฉันตัวอย่างเช่น: ชื่อโรงแรม: ถึงชื่อโรงแรม ฉันคัดลอก field.tpl.php และลบเครื่องหมายโคลอนที่นั่น แต่ไม่ว่า Drupal จะปฏิเสธที่จะยอมรับและดึงโคลอนออกจากที่อื่น ฉันจะทำสิ่งนี้ด้วยฟังก์ชั่น template.php ได้อย่างไร
10 7  entities 

4
สร้าง EntityFieldQuery ที่เลือกเอนทิตีที่อ้างอิง
ฉันกำลังมองหา ID ของกิจการของประเภท A และฉันรู้ว่ารหัสของกิจการ B ที่อ้างอิงก ฉันพบแหล่งข้อมูลที่ดีเกี่ยวกับ EntityFieldQuery ฉันประหลาดใจที่ฉันได้รับผลลัพธ์จาก. NET ใน google :) (มันเป็นสัญญาณของวุฒิภาวะของ Drupal ใช่หรือไม่ :) แต่ไม่พบสิ่งนี้ กรุณาช่วย ... แหล่งที่มาบางส่วน: วิธีการทำ การอภิปรายเกี่ยวกับการสร้างตัวอย่าง โมดูลตัวอย่างบน github นี่คือสิ่งที่ดูเหมือนกับโหลดกิจการ - คุณจะเข้าใจฉันต้องการแบบสอบถามที่ :) เสื้อคลุมจะมีการปฏิบัติส่วนใหญ่ โปรดทราบว่ามันจะโหลดเอนทิตีเป้าหมาย - มีการสืบค้นค่อนข้างมาก $b = entity_load('B', array($id)); $bm = entity_metadata_wrapper('B', $sl[$id]); $tsl = $slm->field_sl_tpref->value(); echo $tsl->id;
10 7  entities 

6
ปิดใช้งานแท็บแนวตั้งตามประเภทเนื้อหาหรือบทบาทของผู้ใช้
ผู้ใช้บางคนอาจมีความสามารถในการแก้ไขหนึ่งในชุดเขตข้อมูลที่แสดงในแท็บแนวตั้งบนฟอร์มแก้ไขโหนด ในกรณีเช่นนี้ดูเหมือนว่าค่อนข้างโง่ที่จะใช้แท็บแนวตั้งเนื่องจากมีแท็บแนวตั้งเพียงแท็บเดียวให้เลือก ดูภาพหน้าจอ: ดังนั้นจึงเป็นไปได้ที่จะปิดการใช้งานแท็บแนวตั้งตามบทบาทของผู้ใช้หรือไม่ หรือว่ามีการปิดใช้งานพวกเขาพร้อมกันสำหรับเนื้อหาบางประเภทหรือไม่ สำหรับกรณีการใช้งานของฉันฉันต้องการให้ตำแหน่งไม่แสดงในแท็บแนวตั้ง ฉันลอง Renderable Fields และ Field Group ด้วยกัน แต่พวกเขาจัดการแบบฟอร์มไม่ถูกต้อง (buggy ฉันคิดว่า) จัดเรียงเขตข้อมูลไม่สามารถแยกแท็บแนวตั้งออกได้
10 7  entities  location  nodes 

3
คุณจะตั้งค่ารูปแบบข้อความเริ่มต้นสำหรับแต่ละประเภทเนื้อหาได้อย่างไร
ฉันต้องการที่จะสามารถตั้งค่ารูปแบบข้อความเริ่มต้นที่แตกต่างกันสำหรับประเภทเนื้อหาและต่อเนื้อหา ตัวอย่างเช่นตัวเลือกประเภทรูปแบบอาจเป็น " ข้อความธรรมดา " และ " ตัวแก้ไข Rich Text " และในบางกรณีฉันต้องการให้รูปแบบเริ่มต้นเป็น " ตัวแก้ไขข้อความสมบูรณ์ " แต่เก็บ " ข้อความธรรมดา " เป็นตัวเลือกในเมนูแบบเลื่อนลง ฉันรู้ว่าฉันสามารถเปลี่ยนลำดับของรูปแบบข้อความเพื่อให้เป็น " ตัวเลือก Rich Text " เป็นตัวเลือกแรก แต่วิธีนี้เปลี่ยนแปลงทั้งหมดนั่นไม่ใช่สิ่งที่ฉันต้องการจะทำ


2
เปลี่ยนชื่อฉลากของฟิลด์ข้อความชื่อ
การเพิ่มฟิลด์ใหม่ช่วยให้คุณสามารถระบุป้ายกำกับของฟิลด์ แต่ฟิลด์ชื่อไม่ได้ ในความเป็นจริงมันอยู่ที่นั่นเพียงแค่ทำหน้าที่สูงสุดและยิ่งใหญ่ ฉันต้องการเปลี่ยนป้ายชื่อเป็นสิ่งที่ชอบYour nameแต่เก็บชื่อเครื่องไว้ ใครบ้างมีความคิดจะทำอย่างไร
10 entities 

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