คำแนะนำในการสร้างโมดูลใน Magento 2

เผยแพร่แล้ว: 2015-11-20

คุณกำลังมองหาวิธีสร้างโมดูลใน Magento 2 หรือไม่? วันนี้ เราจะแนะนำวิธีสร้างโมดูลใน Magento 2 ให้คุณ เราหวังว่าคุณจะสนุกกับมันและใช้งานมันได้อย่างง่ายดาย!

การสร้างโมดูลที่ยืดหยุ่นนั้นทำได้ยากมาก แต่เรามีบทช่วยสอนง่ายๆ เกี่ยวกับการสร้างโมดูลอย่างง่ายใน Magento 2 หวังว่าบทช่วยสอนนี้จะช่วยคุณได้ในขั้นตอนแรก ก่อนสร้าง โมดูล จำเป็นต้องเข้าใจความแตกต่างในโครงสร้างไดเร็กทอรีระหว่าง Magento ทั้งสองเวอร์ชัน ในโครงสร้างไดเร็กทอรี Magento 2 โค้ดพูลจะถูกลบออกจากโครงสร้างไฟล์ฐานโค้ด ตอนนี้โมดูลทั้งหมดถูกจัดกลุ่มตามผู้ขาย ดังนั้น เราสามารถสร้างโมดูลได้โดยตรงภายในไดเร็กทอรี app/code

อัปเดตล่าสุด: เราเพิ่งเปิดตัวธีม Claue Multipurpose Magento 2 เวอร์ชัน 2.0 พร้อมการปรับปรุงประสิทธิภาพมากมายและคุณลักษณะพิเศษเฉพาะ ตรวจสอบชุดรูปแบบนี้เลย: Claue Magento Theme 2. 0

claue2_edited (1)

สาธิตสด

Claue – ธีม Magento 2&1 ที่สะอาดและเรียบง่ายเป็นเทมเพลตที่ยอดเยี่ยมสำหรับร้านอีคอมเมิร์ซที่ทันสมัยและสะอาดตา พร้อมด้วยเลย์เอาต์ของหน้าแรกมากกว่า 40 แบบและตัวเลือกมากมายสำหรับร้านค้า บล็อก พอร์ตโฟลิโอ เลย์เอาต์ตัวระบุตำแหน่งร้าน และหน้าที่มีประโยชน์อื่นๆ Claue เวอร์ชัน 2. 0 มาพร้อมกับคุณสมบัติพิเศษมากมาย ได้แก่ :

  • อิงจากธีม Luma
  • ตรงตามมาตรฐานทั้งหมดของ Magento Theme
  • การปรับปรุงประสิทธิภาพที่สำคัญ
  • เข้ากันได้กับส่วนขยายของบุคคลที่สามส่วนใหญ่
  • เข้ากันได้อย่างสมบูรณ์กับ Magento 2.4.x

รุ่นขั้นสูงที่สองนี้แตกต่างอย่างสิ้นเชิงจากรุ่นก่อน ดังนั้น หากคุณใช้ Claue เวอร์ชัน 1 และต้องการอัปเดตเป็น Claue เวอร์ชัน 2 คุณสามารถสร้างเว็บไซต์ใหม่ได้เท่านั้น แทนที่จะอัปเดตจากเวอร์ชันเก่า เอาล่ะ กลับมาที่หัวข้อหลักกัน

ความแตกต่างระหว่าง Magento1.0 และ Magento2.0

มีความแตกต่างพื้นฐานระหว่าง Magento 1.0 และ Magento 2.0 เพื่อให้คุณเห็นภาพโครงสร้างโฟลเดอร์ใน Magento 2.0 ได้อย่างง่ายดาย ดังนั้น การสร้างโมดูลอย่างง่ายใน Magento 2.0 จึงเป็นเรื่องง่าย

คำแนะนำในการสร้างโมดูลใน Magento 2

สร้างโมดูลใน Magento2

ขั้นตอนที่ 1: สร้างไฟล์การกำหนดค่า

– สร้างไฟล์: app/code/Tutorial/Example/etc/module.xml (วัตถุประสงค์: ไฟล์นี้จะประกาศโมดูลของคุณ) และใส่โค้ดต่อไปนี้ลงไป:

  1. <? เวอร์ชัน xml = “1.0” ?>
  2. <config xmlns:xsi = “http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation = “..
  3. /../../../../lib/internal/Magento/Framework/Module/etc/module.xsd” >
  4. < ชื่อ โมดูล = “Tutorial_Example” setup_version = “1.0.0” >
  5. </module>
  6. </config>

– สร้างไฟล์: app/code/Tutorial/Example/etc/frontend/routes.xml (วัตถุประสงค์: เราเตอร์ของโมดูลของคุณสำหรับส่วนหน้าจะถูกประกาศที่นี่):

  1. <? เวอร์ชัน xml = “1.0” ?>
  2. <config xmlns:xsi = “http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation = “..
  3. /../../../../../lib/internal/Magento/Framework/App/etc/routes.xsd” >
  4. <router id = “มาตรฐาน” >
  5. <route id = “ตัวอย่าง” frontName = “ตัวอย่าง” >
  6. < ชื่อ โมดูล = “Tutorial_Example” />
  7. </route>
  8. </router>
  9. </config>

ขั้นตอนที่ 2: สร้างไฟล์คอนโทรลเลอร์ เลย์เอาต์ และเทมเพลต

หลังจากสร้างไฟล์คอนฟิกูเรชันแล้ว เราจะเริ่มด้วยไฟล์คอนโทรลเลอร์ เลย์เอาต์ และเทมเพลต

– สร้างไฟล์คอนโทรลเลอร์: app/code/Tutorial/Example/Controller/Index/Index.php และใส่รหัสนี้:

  1. <? php
  2. เนมสเปซ สอน \Example\Controller\Index ;
  3. ใช้ Magento \Framework\App\Action\Context ;
  4. ใช้ Magento \Framework\View\Result\PageFactory ;
  5. ดัชนี คลาส ขยาย \Magento\Framework\App\Action\Action
  6. {
  7. /**
  8. * @param บริบท $context
  9. * @param PageFactory $resultPageFactory
  10. */
  11. ฟังก์ชั่น สาธารณะ __construct (
  12. บริบท $context ,
  13. PageFactory $resultPageFactory
  14. )
  15. {
  16. ผู้ปกครอง :: __construct ( $context );
  17. $this -> resultPageFactory = $resultPageFactory ;
  18. }
  19. ฟังก์ชั่น สาธารณะ ดำเนินการ ()
  20. {
  21. $resultPageFactory = $this -> resultPageFactory -> สร้าง ();
  22. // เพิ่มชื่อหน้า
  23. $resultPageFactory -> getConfig ()-> getTitle ()-> set ( __ ( 'โมดูลตัวอย่าง' ));
  24. // เพิ่มเบรดครัมบ์
  25. /** @var \Magento\Theme\Block\Html\Breadcrumbs */
  26. $breadcrumbs = $resultPageFactory -> getLayout () -> getBlock ( 'breadcrumbs' );
  27. $breadcrumbs -> addCrumb ( 'บ้าน' ,
  28. [
  29. 'label' => __ ( 'หน้าแรก' ),
  30. 'title' => __ ( 'หน้าแรก' ),
  31. 'link' => $this -> _url -> getUrl ( )
  32. ]
  33. );
  34. $breadcrumbs -> addCrumb ( 'tutorial_example' ,
  35. [
  36. 'label' => __ ( 'ตัวอย่าง' ),
  37. 'title' => __ ( 'ตัวอย่าง' )
  38. ]
  39. );
  40. ส่งคืน $resultPageFactory ;
  41. }
  42. }

– สร้างไฟล์เลย์เอาต์: app/code/Tutorial/Example/view/frontend/layout/example_index_index.xml

  1. <? เวอร์ชัน xml = การ เข้ารหัส "1.0" = "UTF-8" ?>
  2. <page xmlns:xsi = “http://www.w3.org/2001/XMLSchema-instance” เล ย์เอาต์ = “3columns”
  3. xsi:noNamespaceSchemaLocation = “../../../../../../../lib/internal/Magento/Framework/View/Layout/
  4. etc/page_configuration.xsd” >
  5. <body>
  6. <referenceContainer name = “เนื้อหา” >
  7. < คลาส บล็อก = “Magento\Framework\View\Element\Template” ชื่อ = “tutorial_example_block”
  8. template = “Tutorial_Example::index.phtml” />
  9. </referenceContainer>
  10. </body>
  11. </page>

– สร้างไฟล์เทมเพลต: app/code/Tutorial/Example/view/frontend/templates/index.phtml

<h1> <? php echo __ ( 'นี่คือโมดูลตัวอย่าง!' ) ?> </h1>

ขั้นตอนที่ 3: เปิดใช้งานโมดูลในไฟล์กำหนดค่าของ Magento 2

เราจะเปิดใช้งานโมดูลนี้โดยการเปิด แอพ/ฯลฯ/ config.php file จากนั้นเพิ่มบรรทัดนี้เข้าไป:

จากนั้นเปิดคำสั่งใน Windows (หรือ Terminal ใน Linux และ MAC OS) ไปที่โฟลเดอร์รูทของ Magento และเรียกใช้บรรทัดคำสั่งนี้เพื่อติดตั้งโมดูลของคุณ:

bin\magento setup:upgrade

สุดท้าย ล้างแคช Magento จากนั้นเข้าถึงด้วย url http://localhost/magento2/example/index/index/

เยี่ยมชมบล็อก Magesolution เพื่อไม่พลาดการอัปเดตหรือบทช่วยสอนเกี่ยวกับ Magento 2.0