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

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

8
เมื่อใดจึงจะเหมาะสมในการสร้างเอนทิตีกับเพิ่งเพิ่มประเภทเนื้อหาใหม่
ประโยชน์ที่จะได้รับจากการสร้างประเภทเอนทิตีใหม่คือเพียงแค่สร้างประเภทเนื้อหาใหม่ ดูเหมือนว่าจะใช้เวลามากเกินไปในการทำรหัสที่กำหนดเองทั้งหมดซึ่งจำเป็นในการสร้างเอนทิตีใหม่เมื่อคุณมีฟังก์ชัน CRUD และมุมมองทั้งหมดที่มีอยู่แล้วในประเภทเนื้อหา
84 7  entities 

4
ฉันจะโหลดคอลเลกชันฟิลด์จากโหนดได้อย่างไร
ฉันมีโหนดที่มีการรวบรวมฟิลด์บางอย่าง เมื่อฉันดูnode_load()ผลลัพธ์ฉันเห็น: [field_rich_text_group] => Array ( [und] => Array ( [0] => Array ( [value] => 6 ) [1] => Array ( [value] => 7 ) [2] => Array ( [value] => 8 ) ) ) ฟังก์ชัน API ใดที่ฉันสามารถใช้เพื่อโหลดข้อมูลฟิลด์ที่มีอยู่ในคอลเลกชันที่มีเอนทิตีของ 6, 7, 8, ฯลฯ
72 7  entities 


8
วิธีสร้างฟิลด์โดยทางโปรแกรม
ฉันจะใช้งานสิ่งต่อไปนี้ใน Drupal 7 ได้อย่างไร สิ่งที่ฉันต้องทำคือสร้างโมดูลที่กำหนดเอนทิตีที่เป็นฟิลด์ใหม่ที่เรียกว่า 'บริษัท ' ฉันมีรายชื่อสมมติว่ามี 20 ฟิลด์ที่ต้องกรอกโดยแต่ละอินสแตนซ์ของ บริษัท คำถามเหล่านี้มีการกำหนดไว้ล่วงหน้าและบางส่วนอาจมีการตรวจสอบที่กำหนดเอง ในขณะนี้ฉันมาถึงจุดที่ฉันสามารถเพิ่มเขตข้อมูลใหม่ไปยังเอนทิตี บริษัท ใช้งานได้ดีในขณะนี้ ปัญหาของฉันคือฉันต้องการฟิลด์เหล่านี้ทั้งหมดเพื่อให้มีทันทีที่ติดตั้งโมดูลดังนั้นการเพิ่มพวกเขาผ่านทางอินเตอร์เฟสไม่ใช่ตัวเลือก ฉันสงสัยว่าฉันจะเข้าถึงสิ่งนี้ได้อย่างไร ฉันคิดว่ามันสามารถทำสิ่งที่สามารถทำได้โดยใช้ UI 'จัดการฟิลด์' โดยทางโปรแกรม
56 7  entities 

3
อะไรคือวิธีปฏิบัติที่ดีที่สุดเมื่อทำงานกับภาษา [und]?
ฉันเริ่มใช้แบบฟอร์มนี้เพื่อเข้าถึงข้อมูลในโมดูลของฉัน (ดูความคิดเห็น # 1 ) $node->field_test[$node->language][0]['value'] ฉันคิดว่ามันดูเหมือนเป็นคำตอบที่ดี แต่ฉันก็พบคำถามต่อไปนี้ : อย่าสันนิษฐานว่า 'und' มีไว้สำหรับฟิลด์ของเอนทิตีที่ไม่มีภาษา แต่ยังใช้สำหรับฟิลด์ที่ไม่สามารถแปลได้และไม่มีโมดูลการแปลเอนทิตีที่เป็นฟิลด์ทั้งหมด นอกจากนี้ยังมีข้อแตกต่างระหว่าง Drupal รุ่น 7.x ที่หลากหลาย ดีกว่าที่จะใช้field_get_items()ฟังก์ชั่นที่จะสังคายนาคุณภายใต้รหัสภาษาที่ข้อมูลจะถูกเก็บไว้ และตอนนี้ฉันไม่รู้ว่าสิ่งที่ฉันใช้จะทำให้บางอย่างพังทลายลงมา
51 entities 

3
จะให้แม่แบบสำหรับโหมดมุมมองเฉพาะได้อย่างไร
ฉันต้องการธีมของโหมดมุมมองผลการค้นหาด้วยเทมเพลต ฉันมีมันในหัวของฉันที่ตั้งชื่อโหนดไฟล์แม่แบบ - บทความ - search-result.tpl.php จะทำเคล็ดลับ แต่ฉันผิดอย่างชัดเจนเกี่ยวกับที่ ฉันรู้ว่าฉันสามารถทำโหนด - article.tpl.php และในการตรวจสอบนี้ $ view_mode แต่สิ่งนี้น่าอึดอัดใจกับโหมดมุมมองอื่น ๆ ทั้งหมดที่ฉันไม่ต้องการเทมเพลต ไอเดีย?
46 7  theming  entities 

7
จะเปลี่ยนความยาวของการตั้งค่าฟิลด์ได้อย่างไร?
ฉันตั้งค่าเว็บไซต์หนึ่งครั้งเพื่อจำกัดความยาวของฟิลด์ และตอนนี้ลูกค้าต้องการเพิ่มตัวละครให้กับฟิลด์นั้นมากขึ้น ฉันไม่สามารถเปลี่ยนขนาดสูงสุดจาก Drupal ได้เนื่องจากฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้: มีข้อมูลสำหรับฟิลด์นี้ในฐานข้อมูล ไม่สามารถเปลี่ยนการตั้งค่าฟิลด์ได้อีกต่อไป อย่างไรก็ตามจะต้องมีวิธีแก้ปัญหา ฉันจะเปลี่ยนมันในฐานข้อมูล (เขตข้อมูลถูกนำไปใช้โดยโมดูลคอลเลกชันฟิลด์ )
46 7  entities  database 

13
ฉันจะลบวัตถุการกำหนดค่าออกจากการกำหนดค่าที่ใช้งานอยู่ได้อย่างไร
ฉันกำลังเขียนโมดูลที่กำหนดเองสำหรับ Drupal 8 มันกำหนดวัตถุการกำหนดค่าการจัดเก็บข้อมูลในไฟล์ที่เรียกว่าโมดูล / mymod / config / ติดตั้ง / field.storage.bloom_stem.bs_twitter_ac.yml ปัญหาคือว่าสิ่งนี้จะไม่ถูกลบเมื่อฉันถอนการติดตั้งโมดูล; เห็นได้ชัดว่ามันถูกทิ้งไว้เพราะเมื่อฉันติดตั้งโมดูลอีกครั้ง drush -y pm-uninstall mymod drush cr drush -y en mymod ข้อยกเว้น 'Drupal \ Core \ Config \ PreExistingConfigException' พร้อมกับข้อความ 'วัตถุการกำหนดค่า (field.storage.bloom_stem.bs_twitter_ac) ให้โดย mymod อยู่ในการกำหนดค่าที่ใช้งานอยู่' ดังนั้นฉันต้องการบางวิธีลบวัตถุการกำหนดค่านี้ด้วยตนเอง ฉันต้องระบุรหัสเพิ่มเติมที่จะลบมันเมื่อโมดูลถูกถอนการติดตั้งหรือไม่?

11
วิธีแสดงเขตข้อมูลก่อนชื่อโหนด?
ฉันต้องการเรนเดอร์ฟิลด์หนึ่งหน้าชื่อของโหนดเมื่อแสดงทีเซอร์ใน D7 ได้อย่างมีประสิทธิภาพที่ฉันอยากจะไปจากที่นี่ไปนี้ ฉันตรวจสอบการอัพเดต node.tpl.php แล้ว แต่ฉันสังเกตว่ามันแยก$titleจาก กัน$contentดังนั้นฉันจึงไม่แน่ใจว่าจะใช้วิธีนี้ได้อย่างไร หลังจากการค้นหาบางอย่างฉันพบว่ามีคนแนะนำให้ใช้โมดูลCCKและConTemplateเพื่อแก้ไขปัญหานี้ใน Drupal-6 แต่ฉันสงสัยว่ามีวิธีแก้ไขปัญหา Drupal-7 มากขึ้นอีกหรือไม่ ข้อเสนอแนะใด ๆ
41 7  entities  nodes 

7
มีวิธีที่ดีในการตรวจสอบวัตถุที่ได้รับมาจากคลาส EntityDrupalWrapper หรือไม่?
ฉันแน่ใจว่าคำถามนี้ใช้กับประเภทวัตถุที่ซับซ้อนอื่น ๆ แต่EntityDrupalWrapperเป็นคำถามที่ฉันใช้งานอยู่ นี่คือประเภทของวัตถุที่ส่งคืนโดยentity_metadata_wrapper()(และอาจเป็นอย่างอื่น) เมื่อใช้รหัสดังต่อไปนี้: $order_wrapper = entity_metadata_wrapper('commerce_order', $order_object); dpm($order_wrapper); ผลลัพธ์จาก Devel ไม่มีประโยชน์มากเกินไป: ไม่แสดงสิ่งที่คุณคาดว่าจะเห็นเมื่อมีสายเรียกเข้าdpm()เช่นstdClassวัตถุ การเรียกที่คล้ายกันเพื่อdvm()พิมพ์วัตถุ แต่ในลักษณะที่ฉันไม่คุ้นเคยและมันไม่สามารถอ่านได้มาก ฉันลองdebug()แล้วมันจะสร้างการแจ้งเตือนผู้ใช้ PHP ที่มีลักษณะดังนี้: อนึ่งเอาต์พุต HTML ที่มีอยู่ในคำเตือนนั้นเป็นเอาต์พุตเดียวกันกับที่dvm()พิมพ์ไปที่หน้าจอ ฉันจะตรวจสอบวัตถุประเภทนี้ (ควรใช้กับ Krumo) ได้อย่างไรเพื่อที่ฉันจะเห็นว่ามีคุณสมบัติใดบ้าง หรือฉันติดอยู่กับการใช้dvm()?

4
วิธีรับอินสแตนซ์ของเอนทิตีอ้างอิง
field_imageฉันมีวัตถุโหนดกับข้อมูลภาพชื่อ เมื่อฉันทำ $node ->get('field_image') ->first() ->getValue() ฉันได้รับอาร์เรย์ที่มีคุณสมบัติบางอย่างแทนเอนทิตีวัตถุ อาร์เรย์มีลักษณะดังนี้: 'target_id' => string '8' (length=1) 'alt' => string '' (length=0) 'title' => string '' (length=0) 'width' => string '587' (length=3) 'height' => string '458' (length=3) '_loaded' => boolean true '_accessCacheability' => object(Drupal\Core\Cache\CacheableMetadata)[1092] protected 'cacheContexts' => array (size=0) ... protected 'cacheTags' => array …
35 8  entities 

5
อัปเดตฟิลด์เป็นกลุ่มหรือไม่
ฉันได้เพิ่มฟิลด์ (ข้อความ) ใหม่ลงในประเภทเนื้อหา Drupal 7 ที่มีหลายโหนดอยู่แล้ว ฉันจะกรอกข้อมูลฟิลด์ด้วยค่าเริ่มต้นสำหรับโหนดเหล่านี้ทั้งหมดได้อย่างไร
35 7  entities 

11
รับผู้ใช้ทั้งหมดที่มีบทบาทเฉพาะโดยใช้ EntityFieldQuery
ฉันคิดว่านี่เป็นงานง่าย แต่ดูเหมือนจะไม่มีวิธี Drupal สำหรับสิ่งนี้ ฉันมาถึงเท่าที่รู้ว่าฉันต้องใช้EntityFieldQueryสิ่งนี้เพราะ API บอกว่าเงื่อนไขสำหรับuser_load_multiple()เลิกใช้แล้ว ดังนั้นฉันจึงลองทำสิ่งนี้: $query = new EntityFieldQuery; $query ->entityCondition('entity_type', 'user') ->propertyCondition('rid',array(1,2,3); $result = $query->execute(); แต่ฉันได้รับสิ่งนี้: PDOException: SQLSTATE [42S22]: ไม่พบคอลัมน์: 1054 คอลัมน์ที่ไม่รู้จัก 'users.rid' ใน 'where clause': SELECT users.uid AS entity_id,: entity_type AS เอนทิตีตี้, NULL AS revision_id,: บันเดิล AS บันเดิลจากผู้ใช้ {ผู้ใช้} WHERE (users.rid =: db_condition_placeholder_0); Array ([: …
35 7  entities 

9
อะไรคือความสมดุลที่ดีระหว่างการใช้ฟิลด์ซ้ำกับการสร้างฟิลด์ใหม่ในบริบทของการปรับขนาดฟิลด์
ฉันอ่านวลีต่อไปนี้บนเว็บไซต์: แทนที่จะเพิ่มเขตข้อมูลใหม่ลงในประเภทเนื้อหาการเพิ่มเขตข้อมูลที่มีอยู่เป็นตัวเลือกที่ดีกว่าเพื่อลดความซับซ้อนของระบบและปรับปรุงความสามารถในการปรับขยาย และมีข้อสงสัยเกิดขึ้น ในระบบที่เรากำลังพัฒนาเรามีความเป็นไปได้ที่จะนำเขตข้อมูลมาใช้ซ้ำในประเภทเนื้อหา 3 หรือ 4 ประเภท แต่แทนที่จะปรับปรุงความสามารถในการปรับขนาดตามคำพูดที่บอกว่าฉันกลัวว่ามันจะลดลงเพราะตารางของเขตข้อมูลจะกลายเป็นคอขวดเร็วขึ้น (อย่างน้อยนั่นคือเหตุผลของฉันในกรณีนี้เนื่องจากค่าทั้งหมดของฟิลด์นั้นเข้าด้วยกันจะเป็นสองสามล้านต่อปีและนั่นจะทำให้ตารางใหญ่เกินไป) คุณเห็นด้วยไหม? จะมีจำนวนแถวเท่าไรที่เหมาะสมที่สุดสำหรับการออกแบบเมื่อมีเป้าหมาย? ด้วยวิธีนี้เราสามารถตัดสินใจได้ว่าจะใช้ฟิลด์ใหม่เมื่อใดและจะสร้างใหม่เมื่อใด (แม้ว่าจะมีโอกาสนำมาใช้ซ้ำ)


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