หน่วยงานใน Drupal 7


13

องค์กร Drupal ใน Drupal 7 คืออะไร ฉันเข้าใจว่า Drupal Commerce สร้างผลิตภัณฑ์เป็นนิติบุคคล ตอนนี้ฉันรู้แล้วว่ามี Core Entity API และ contrib เพิ่มสำหรับ Entity API

ฉันมีโครงการไม่กี่ปีนี้ที่ฉันต้องการใช้ Drupal 7, NoSQL และ Entity API ถ้ามันเรียกใช้มัน - แต่ฉันมีปัญหาในการดูว่ามันจะต้องอยู่ที่ไหน

สมมติว่าคุณกำลังสร้างเว็บไซต์ที่มีรายการงาน - งานนั้นไม่จำเป็นต้องเหมือนกับเนื้อหาของโหนดคุณสามารถ / คุณสร้างเอนทิตี้ได้หรือไม่?

นอกจากนี้คุณยังสามารถรับความสามารถในการพูดคุยกับโมดูลด้วย Entity ได้หรือไม่ เช่นเดียวกับเอนทิตีการโพสต์งานที่ได้รับนามแฝงด้วย Pathauto และเปิดเผยใน Views รวมถึงปรากฏใน XML Sitemap

คำตอบ:


9

เอนทิตีคือโครงสร้างข้อมูลที่กำหนดโดย hook_entity_info () และสามารถเป็นฟิลด์ซึ่งหมายความว่าคุณสามารถเพิ่มเขตข้อมูลให้กับพวกเขา

ใน Drupal 7 Core โหนดผู้ใช้ความคิดเห็นคำศัพท์และข้อกำหนดเป็นเอนทิตี

ใน Contrib มีอีกมากมายตัวอย่างเช่นข้อความส่วนตัวและการค้าที่มีลักษณะเหมือนเป็นโหล ๆ )

อย่างไรก็ตามฉันคิดว่าการโพสต์งานทำได้อย่างสมบูรณ์แบบเนื่องจากโหนด :) เอนทิตีไม่มีการรวม Pathauto (โทเค็น), การเข้าชมและอื่น ๆ โดยอัตโนมัติ


9

เอนทิตีคือระดับเมตาเหนือโหนดผู้ใช้ ฯลฯ

โดยพื้นฐานแล้วถ้าคุณดูที่ D6 มีโมดูลที่ซ้ำกันจำนวนมากและฟังก์ชั่นการทำงานข้ามประเภทนี้ ตัวอย่างเช่นมีโมดูลที่จะแนบฟิลด์ cck กับผู้ใช้และข้อกำหนดด้านอนุกรมวิธาน

ใน D7 มีการตัดสินใจที่จะปฏิบัติต่อสิ่งเหล่านี้ในลักษณะเดียวกันในเชิงสถาปัตยกรรมดังนั้นหากคุณมีโมดูลที่ทำอะไรบางอย่างกับเอนทิตีมันควรทำงานกับโหนดเงื่อนไขและผู้ใช้

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

สมมติว่าคุณกำลังสร้างเว็บไซต์ที่มีรายการงาน - งานนั้นไม่จำเป็นต้องเหมือนกับเนื้อหาของโหนดคุณสามารถ / คุณสร้างเอนทิตี้ได้หรือไม่?

คุณทำได้ ฉันคิดว่าคุณควรระวังในการสร้างสิ่งต่าง ๆ ให้เร็วเกินไป บ่อยครั้งที่ประเภทโหนดที่กำหนดเองจะยังคงทำสิ่งที่คุณต้องการ งานแสดงรายการสิ่งต่าง ๆ ไปยังโหนดหรือเป็นโหนดที่มีคุณสมบัติพิเศษหรือไม่?


3

ฉันเริ่มใช้เอนทิตี้ในบางโครงการของฉันสำหรับสิ่งที่ไม่ใช่ "เนื้อหา" จริงๆ เราใช้พวกเขาสำหรับสิ่งที่เราไม่สนใจจริง ๆ เมื่อมันถูกเผยแพร่หรือใครเป็นผู้เขียน

ประโยชน์ที่แท้จริงของการกำหนดเอนทิตีคือถ้าคุณกำลังพัฒนาโมดูลที่กำหนดเองของคุณเอง คุณจะได้รับโครงสร้างตารางที่ดีและความดีของ Drupal (Fieldability, Views integration, ... ) ได้ฟรี ไม่มีการสร้างโครงสร้างตารางที่กำหนดเองของคุณเองหรือทำการดัดแปลงประเภทโหนดตามความต้องการของคุณ นอกจากนี้ฉันชอบน้ำหนักเบาที่พวกเขาเป็นหน่วยงานที่ฉลาดดังนั้นควรจะดีกว่า หากคุณทำแบบสอบถามใด ๆ ใน D6 กับโหนดคุณจะเข้าใจว่าฉันหมายถึงอะไร


1

โหนดผู้ใช้ taxonomies เป็นตัวอย่างของเอนทิตีของ Drupal คุณสมบัติหลักของเอนทิตีคือสามารถกำหนดให้กับเอนทิตีอื่น ๆ : ผู้ใช้เชื่อมโยงกับโหนดและสามารถกำหนดอนุกรมวิธานให้กับโหนดและผู้ใช้

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


1

ถ้าคุณต้องการที่จะบอกว่าในคำไม่กี่คำคุณสามารถพูดได้ว่าเอนทิตี้ของ en เป็นเพียงส่วนหนึ่งของข้อมูลที่ drupal ตระหนักถึงและสามารถจัดเก็บได้ทุกที่

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