โมดูลที่ถูกต้องที่สุดพื้นฐานที่สุดที่สามารถสร้างใน Drupal คืออะไร?
มันจะมีประโยชน์หากมีพิมพ์เขียวง่ายๆสำหรับทุกคนที่เพิ่งเริ่มใช้ Drupal
โมดูลที่ถูกต้องที่สุดพื้นฐานที่สุดที่สามารถสร้างใน Drupal คืออะไร?
มันจะมีประโยชน์หากมีพิมพ์เขียวง่ายๆสำหรับทุกคนที่เพิ่งเริ่มใช้ Drupal
คำตอบ:
คำแนะนำด้านล่างช่วยให้ผู้ใช้สามารถสร้างโมดูลเปล่าและเป็นประโยชน์สำหรับทุกคนที่เพิ่งเริ่มต้นสร้างโมดูล หากคุณมีปัญหาในการทำให้โมดูลแรกทำงานได้หรือปรากฏขึ้นใน Drupal ตรวจสอบให้แน่ใจว่าคุณได้อ่านคำแนะนำทั้งหมดด้านล่าง
project
ต้องอย่างน้อยมี
module-machine-name.info.yml
ที่มีลักษณะดังต่อไปนี้:
name:
ชื่อที่อ่านได้อย่างมนุษย์ปุถุชนtype:
module
ชนิดที่กำหนดให้เป็นcore:
โมดูลหลักของ Drupal ที่สำคัญนั้นเข้ากันได้กับโมดูล8.x
ในกรณีนี้module-machine-name.module
Drupal ค้นหาโมดูลในตำแหน่งที่ตั้งเหล่านี้ตามที่เห็นจากเว็บรูท:
/modules/
sites/[example.com]/modules
sites/default/modules
profiles/[install-profile]/modules
ในทางเทคนิค Drupal ยังมองหาโมดูลcore/modules
ด้วย แต่ไม่ควรวางโมดูลไว้ที่นั่นดังนั้นจึงไม่ได้อยู่ในรายการด้านบน
ตัวอย่างโครงสร้างโมดูลสำหรับโมดูลที่มีชื่อเครื่องhelloworld
จะเป็นดังนี้:
/modules/helloworld/helloworld.info.yml
/modules/helloworld/helloworld.module
ขอให้สังเกตว่าทั้งข้อมูลและไฟล์โมดูลนั้นมีชื่อเหมือนกับชื่อเครื่องซึ่งมีความสำคัญ
ไฟล์โมดูลอาจว่างเปล่า แต่ไฟล์ข้อมูลจะต้องมีค่าขั้นต่ำเพียงเล็กน้อยเพื่อให้ Drupal จดจำได้ว่าเป็นโมดูล สำหรับโมดูล helloworld ของเรานั่นอาจมีลักษณะ:
name: 'Hello world module to demonstrate module building'
core: 8.x
type: module
หากคุณทำตามคำแนะนำข้างต้นคุณควรจะสามารถรับโมดูลใหม่ที่แสดงอยู่ในเว็บไซต์ Drupal ของคุณแม้ว่าขั้นตอนนี้จะไม่ทำอะไรเลย
อย่างน้อยโมดูลจะต้องมี
เพื่อให้สามารถโหลดได้โดย Drupal จะต้องกำหนดเวอร์ชันหลักที่สามารถใช้ร่วมกันได้
Drupal ค้นหาโมดูลในตำแหน่งที่ตั้งเหล่านี้เพิ่มเติม:
sites/all/modules/
sites/[example.com]/modules
sites/default/modules
profiles/[install-profile]/modules
ในทางเทคนิค Drupal ยังมองหาโมดูลmodules
ด้วย แต่ไม่ควรวางโมดูลไว้ที่นั่นดังนั้นจึงไม่ได้อยู่ในรายการ
ตัวอย่างโครงสร้างโมดูลสำหรับโมดูลที่มีชื่อเครื่องhelloworld
จะเป็นดังนี้:
sites/all/modules/helloworld/helloworld.info
sites/all/modules/helloworld/helloworld.module
ขอให้สังเกตว่าทั้งข้อมูลและไฟล์โมดูลนั้นมีชื่อเหมือนกับชื่อเครื่องซึ่งมีความสำคัญ
ไฟล์โมดูลอาจว่างเปล่า แต่ไฟล์ข้อมูลจะต้องมีชื่อที่อ่านได้โดยมนุษย์ของโมดูลและเวอร์ชันหลักของโมดูลนั้นเข้ากันได้กับ
สำหรับโมดูล helloworld ของเรานั่นอาจมีลักษณะ:
name = Hello world module to demonstrate module building
core = 7.x
หากคุณทำตามคำแนะนำข้างต้นคุณควรจะสามารถรับโมดูลใหม่ที่แสดงอยู่ในเว็บไซต์ Drupal ของคุณแม้ว่าขั้นตอนนี้จะไม่ทำอะไรเลย
drupal generate:module
ล่ะ?
สำหรับ Drupal 8 เนื่องจากคำถามพูดถึงพิมพ์เขียวฉันคิดว่าฉันพูดถึงโครงการDrupal Console
เมื่อติดตั้งแล้วสามารถสร้างรหัสโมดูล (และสิ่งอื่น ๆ เช่นนั่งร้านสำหรับเอนทิตีที่กำหนดเอง, ปลั๊กอิน, ฯลฯ )
drupal generate:module
เพื่อสร้างโมดูลพื้นฐานจากบรรทัดคำสั่ง: หนึ่งจะได้รับแจ้งผ่านการรวบรวมข้อมูลพื้นฐานบางอย่างและทิ้งไว้กับไฟล์โมดูลในตอนท้าย:
sites/default/...
คำพูดว่า ...