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

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

5
วิธีปฏิบัติที่ดีที่สุดสำหรับคีย์ภาษาสำหรับ“ und” ใน hook_form_alter
ฉันกำลังแก้ไขในฟอร์มในโมดูลที่กำหนดเองของฉัน รหัสดูเหมือนว่า: function my_module_form_alter(&$form, &$form_state, $form_id) { if ($form_id == "someID") { $form['field_charity_author']['und'][0]['value']['#value'] = arg(3); //$form['field_charity_author']['#type'] = 'hidden'; } } อย่างไรก็ตามฉันคิดว่าการเข้ารหัสยากundนั้นไม่ดี สิ่งที่ควรเป็นวิธีที่เหมาะสมในการปรับเปลี่ยนเขตข้อมูลฟอร์มอย่างถูกต้องในกรณีนี้
30 7  entities  hooks  i18n-l10n 

1
จะตรวจสอบว่ามีฟิลด์ใดอยู่ในเอนทิตีได้อย่างไร
ในโหนดเอนทิตีฉันต้องการตรวจสอบว่าabcมีฟิลด์ '' อยู่หรือไม่ หากมีอยู่ฉันจะได้รับค่าด้วย$value->get('abc'). แต่ประเภทเนื้อหาที่ไม่มีฟิลด์นี้ให้ข้อผิดพลาด: เว็บไซต์พบข้อผิดพลาดที่ไม่คาดคิด โปรดลองอีกครั้งในภายหลัง. จะตรวจสอบว่ามีฟิลด์ใดอยู่ในเอนทิตีได้อย่างไร
28 8  entities 

6
ดีบัก EntityFieldQuery หรือไม่
ฉันมีโมดูลที่ทำงานผิดปกติ EFQ กำลังรักษาผลที่ไม่คาดคิดไว้ แต่ฉันไม่สามารถเห็นสาเหตุได้เพียงแค่ดูรหัส มีdpq ()เทียบเท่ากับ EFQ หรือไม่ วิธีอื่นในการดีบั๊กหรือไม่
27 7  entities  debugging 

3
ฉันจะรับค่าเขตข้อมูลดิบในแม่แบบกิ่งไม้ได้อย่างไร
myfieldเป็นช่องข้อความธรรมดา {{ content.field_myfield }}แสดงผลฟิลด์ด้วยมาร์กอัพ HTML และเลเบลฟิลด์ ฉันจะแสดงค่าดิบของฟิลด์ได้อย่างไร {{ content.field_myfield.value }}ไม่ทำงาน
27 theming  8  entities 

1
วิธีการสร้างประเภทมุมมองของการแสดงผลการอ้างอิงนิติบุคคล?
ฉันมีเอนทิตีที่มีการรวบรวมฟิลด์ของการอ้างอิงเอนทิตีและสามารถแก้ไขการอ้างอิงเอนทิตีด้วยโหมดการเลือกเอนทิตีคือง่าย (พร้อมฟิลเตอร์ทางเลือกโดยบันเดิล) แต่เฉพาะชื่อฟิลด์เอนทิตี xแสดงในรายการ ฉันยังสร้างมุมมองที่แสดงข้อมูลจากเอนทิตีที่อ้างอิง แต่เมื่อฉันเปลี่ยนโหมดการเลือกเอนทิตีเป็นมุมมองฉันได้รับข้อความ: ไม่พบมุมมองที่มีสิทธิ์ สร้างมุมมองที่มีจอแสดงผล Reference Entity หรือเพิ่มการแสดงผลดังกล่าวไปยังมุมมองที่มีอยู่ . หลังจากนั้นฉันสร้างมุมมองจำนวนหนึ่งของประเภทการแสดงผลการอ้างอิงเอนทิตีซึ่งแสดงข้อมูลเดียวกัน แต่ข้อความแสดงข้อผิดพลาดยังคงเกิดขึ้น บางคนสามารถแสดงขั้นตอนในการสร้างมุมมองการแสดงผลการอ้างอิงขององค์กรได้หรือไม่ PS ฉันคิดว่าสิ่งที่ฉันทำถูกหลอกกว่าปกติเพราะการอ้างอิงเอนทิตีเป็นองค์ประกอบที่มีหลายค่าในการรวบรวมฟิลด์ แต่ฉันไม่สามารถสร้างมุมมองได้แม้ว่า>
26 views  entities 

5
การใช้ OR กับ EntityFieldQuery
ฉันไม่เคยมีความต้องการที่จะทำสิ่งนี้มาก่อนในวันนี้ แต่ดูเหมือนว่าคุณจะไม่สามารถค้นหาหรือใช้แบบสอบถามได้EntityFieldQueryเนื่องจากdb_orจะใช้สำหรับแบบสอบถามแบบใช้เลือกข้อมูล ตัวอย่างจะไปที่เอนทิตีทั้งหมดที่มีฟิลด์วันที่ซึ่งค่าเป็นโมฆะหรือหลังจากวันนี้ ฉันทำบางสิ่งบางอย่างผิดเพี้ยนไปหรือไม่ได้รับการสนับสนุนหรือไม่?

6
การแนบไฟล์โดยทางโปรแกรม
ฉันสร้างประเภทเนื้อหา "คลังภาพ" และเพิ่มสองฟิลด์: "photo" และ "document" ฉันใช้รหัสต่อไปนี้เพื่ออัพโหลดไฟล์ในช่อง "document": $file = file_save_upload('document', array( 'file_validate_extensions' => array('txt doc'), // Validate extensions. )); // If the file passed validation: if ($file) { // Move the file, into the Drupal file system if ($file = file_move($file, 'public://')) { $file->status = FILE_STATUS_PERMANENT; // $file->file_display = …
25 7  nodes  entities 

5
วิธีการตั้งค่าของฟิลด์ไฟล์ด้วย entity_metadata_wrapper
คุณจะตั้งค่าของฟิลด์ไฟล์อย่างไรเมื่อใช้เอนทิตีmetadata_wrapper ฉันพยายามทำสิ่งนี้ในรหัส: $file = new stdClass(); $file->uid = 1; $file->uri = $file_path; $file->filename = basename($file_path); $file->filemime = file_get_mimetype($file_path); $file->filesize = filesize($file_path); $file->status = FILE_STATUS_PERMANENT; $file->display = '1'; file_save($file); // I also tried: $file = file_save($file); $node = array( 'type' => 'news_item', 'uid' => 1, 'status' => 1, 'comment' => 0, …
24 7  files  entities 

4
ด้วยสถานะ D8 ปัจจุบันโครงสร้างการตัดสินใจสำหรับการสร้างเอนทิตีเนื้อหาแบบใหม่กับการสร้างประเภทเนื้อหาสำหรับเอนทิตีเนื้อหา“ โหนด” คืออะไร
เราได้เห็นสี่ปีและรุ่นแรกของ Drupal 8 ตั้งแต่คำตอบที่ยอมรับได้ถูกเขียนขึ้นสำหรับคำถามที่ว่า " เมื่อใดจึงเหมาะสมที่จะสร้างเอนทิตีแทนที่จะเพิ่งเพิ่มประเภทเนื้อหาใหม่ " และเอนทิตีนั้นสำคัญยิ่งกว่า Drupal 8 มากกว่าใน Drupal 7 ( RefB , RefC , RefD ) ในโลกใหม่ของ Drupal 8 โครงสร้างการตัดสินใจสำหรับการสร้างเอนทิตีเนื้อหาใหม่เมื่อเทียบกับประเภทเนื้อหาใหม่สำหรับเอนทิตีเนื้อหาประเภท "โหนด" คืออะไร เมื่อคุณพิจารณาคำตอบโปรดพิจารณาสิ่งต่อไปนี้: ประเภทเนื้อหาใหม่สำหรับประเภทเอนทิตีเนื้อหาของ "โหนด" ยังคงเหมาะสมในสถานการณ์ 99% เมื่อเทียบกับประเภทเอนทิตีเนื้อหาใหม่หรือไม่ โครงสร้างการตัดสินใจในขณะนี้มีเหตุผลที่ดีกว่าดีกว่าหรือชัดเจนกว่าในการหลีกเลี่ยงการใช้ชนิดเอนทิตีเนื้อหา "โหนด" และสร้างประเภทเอนทิตีเนื้อหาใหม่แทนหรือไม่ และถ้าใช่พวกเขาคืออะไร พวกเขารวมถึง: ประสิทธิภาพ? การรักษาความปลอดภัย / สิทธิ์? จำนวนโมดูลที่ทำงานกับ Node-entity-type Content-Types และไม่ทำงานกับเอนทิตีเนื้อหาอื่น ๆ ? บางที - จากคำตอบที่ยอมรับก่อนหน้านี้ที่อ้างถึงข้างต้น …
24 entities  8 

3
ฉันควรใช้แบบไหนและเมื่อใด: node_load () หรือ entity_load ()
ชื่อกล่าวมันทั้งหมด ฉันเข้าใจว่า entity_load จัดเตรียมวิธีการที่มีประสิทธิภาพและมีประสิทธิภาพในการโหลดหลายโหนดในขณะที่ลดการสืบค้นฐานข้อมูลดังนั้นฉันจึงสันนิษฐานว่าในกรณีนั้นฉันควรใช้ entity_load () แต่เมื่อฉันต้องการเพียงหนึ่งโหนดที่ฉันควรใช้? และ node_load () จะเลิกใช้ใน d8 เพื่อสนับสนุนเอนทิตีทั่วไปมากขึ้น () API? ฉันเดาคำถามเดียวกันสำหรับ user_load ที่คุ้นเคย () เช่นกัน
24 entities 

1
จุดประสงค์ของฟังก์ชั่น entity_metadata_wrapper () คืออะไรและเหตุใดฉันจึงควรใช้
ฉันดูเหมือนจะพัฒนาโปรแกรมเสริมไปยังโมดูลจำนวนมากที่ใช้Entity APIในขณะนี้และentity_metadata_wrapper()ฟังก์ชั่นยังคงปรากฏขึ้นเรื่อย ๆ หน้าเอกสารบอกว่านี่เกี่ยวกับมัน ส่งคืน wrapper คุณสมบัติสำหรับข้อมูลที่กำหนด หากเอนทิตีถูกห่อคุณสามารถใช้ wrapper เพื่อดึง wrapper เพิ่มเติมสำหรับคุณสมบัติการให้สิทธิ์ การเพิกเฉยต่อการสะกดคำของ Freudian อย่างน่าพิศวงของคำว่า 'เอนทิตี' ในนั้นฉันไม่เข้าใจจริงๆว่าจุดประสงค์ของสิ่งห่อหุ้มเหล่านี้คืออะไร ฉันเข้าใจว่าฟังก์ชันนั้นคืนค่าEntityDrupalWrapperคลาสเป็นหลัก: wrapper ลดการใช้การเรียก getter และ setter ของคุณสมบัติเอนทิตี แต่สิ่งที่ฉันไม่เข้าใจคือวิธีที่ทำให้สิ่งต่าง ๆ ง่ายขึ้น ตัวอย่างเช่นเพื่ออัปเดตคุณสมบัติสถานะของโหนดฉันสามารถใช้รหัสนี้: $node = node_load($nid); $node->status = 1; node_save($node); มันค่อนข้างสะอาด ตามที่ฉันเข้าใจ (แต่อาจจะผิด) การใช้โค้ดที่เทียบเท่าentity_metadata_wrapper()จะมีความละเอียดมากกว่านั้น ฉันไม่แน่ใจว่าเป็นเพียงแค่การใช้คำว่า 'wrapper' ที่ทำให้ฉันสะดุดที่นี่ แต่ฉันได้ดูรหัสในโมดูล Entity ด้วยและฉันก็ไม่ได้เข้าใจอะไรมากขึ้น ใครบ้างสามารถอธิบายว่าประโยชน์ของการใช้ฟังก์ชั่นนี้คืออะไรและอาจให้ตัวอย่างรหัสง่ายๆสำหรับกรณีใช้งานทั่วไป
23 entities 

2
อัพเดตฟิลด์อ้างอิงเอนทิตีโดยทางโปรแกรม
ฉันรู้ว่าฉันสามารถอัปเดต (หรือตั้งค่าสำหรับ) ฟิลด์การอ้างอิงเอนทิตีใน Drupal 7 ด้วยรหัสที่คล้ายกับต่อไปนี้ $node['field_code_used_by'][LANGUAGE_NONE][0]['target_id'] = $id; ฉันต้องการตั้งค่าโปรแกรมสำหรับเขตข้อมูลการอ้างอิงเอนทิตีผู้ใช้ของฉันใน Drupal 8 ฉันพยายามด้วย$node->field_code_used_by->setValue(1);และ$node->field_code_used_by->entity->value = 1;แต่ไม่ใช่ของพวกเขาทำงาน ฉันจะตั้งค่าสำหรับเขตข้อมูลอ้างอิงเอนทิตีได้อย่างไร
23 8  entities 

2
มีประโยชน์ / คำเตือนเมื่อใช้การอ้างอิงเอนทิตีเหนือการอ้างอิงคำศัพท์หรือไม่?
คำถามง่ายๆสวยจริงๆ แต่มีประโยชน์ที่จะใช้เขตข้อมูลอ้างอิงคำหลักมากกว่าเขตข้อมูลอ้างอิงนิติบุคคลหรือไม่ เห็นได้ชัดว่าการติดแท็กไม่ใช่ตัวเลือกที่มี Entity Reference แต่ฉันใช้Inline Entity Formเพื่อสร้างคำศัพท์ใหม่จากหน้าโหนดและทำงานได้ดี (ฉันชอบมากกว่าการติดแท็กหากคำของฉันมีฟิลด์) TL; DR นอกเหนือจากการติดแท็กแล้วยังมีประโยชน์ / คำเตือนใด ๆ ที่ใช้การอ้างอิงเอนทิตีเหนือการอ้างอิงคำสำหรับการอ้างอิงคำศัพท์อนุกรมวิธาน?

3
ฉันจะแสดงโหนดได้อย่างไรในขณะนี้ที่ node_view () เลิกใช้แล้ว
ใน Drupal 7 ฉันมักจะใช้node_view()สำหรับการแสดงผลโหนด (ใช้โหมดดู) ในบล็อกหรือหน้าดังนี้: $nids = array(123,456,789); $nodes = node_load_multiple($nids); foreach ($nodes as $node) { $node_view = node_view($node, 'teaser'); $output .= drupal_render($node_view); } $build['nodes']['#markup'] = $output; return $build; node_view()/ entity_view()เลิกใช้แล้วและแทนที่ด้วยตัวสร้างมุมมองตามที่อธิบายไว้ในบันทึกการเปลี่ยนแปลงตอนนี้หน่วยงานสร้างมุมมองจะแสดงผลแล้ว ข้อมูลไม่ได้มีรายละเอียดเพียงพอสำหรับฉันที่จะสามารถหาวิธีการบรรลุผลเดียวกัน คุณสามารถสร้างการแสดงผลโหนดใน Drupal 8 เพื่อให้สามารถใช้เอาต์พุตในอาร์เรย์การแสดงผลของบล็อกหรือหน้าได้อย่างไร
22 entities  8 

8
การตรวจสอบการมีอยู่ของเขตข้อมูลบนเอนทิตี _metadata_wrapper
ฉันกำลังวนซ้ำผ่านคอลเลกชันฟิลด์และตัดรายการคอลเล็กชันฟิลด์ด้วย entity_metadata_wrapper ฉันต้องการตรวจสอบการมีอยู่ของเขตข้อมูลก่อนที่จะเรียกvalueวิธีการของมัน(ซึ่งส่งผลให้เกิดข้อผิดพลาดในเขตข้อมูลที่ไม่มีค่า) แต่ฉันไม่สามารถหาวิธีที่จะทำ $field_collection_item = field_collection_item_load($id); $item_wrapper = entity_metadata_wrapper('field_collection_item', $field_collection_item); // this results in an error if the field_contrib_headshot field is empty $headshot = $item_wrapper->field_contributor->field_contrib_headshot->value(); วิธีแก้ปัญหาปัจจุบันของฉันคือการใช้field_get_itemsเพื่อดูว่าเขตข้อมูลว่างเปล่า แต่ฉันชอบที่จะทำเช่นนี้ผ่าน wrapper เมตาดาต้าถ้าเป็นไปได้
22 entities 

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