registration.php หายไป
เห็นได้ชัดว่าฉันโมดูลถูกที่ขาดหายไปVendorname_Modulename registration.phpฉันใช้ Magento2 เวอร์ชั่นล่าสุดจาก GitHub
ComponentRegistrarโมดูลทุกคนมีการลงทะเบียนตัวเองใน โดยทั่วไปregistration.phpสำหรับโมดูล (ในรูทของโมดูลของคุณ) อาจมี:
<?php
use Magento\Framework\Component\ComponentRegistrar;
ComponentRegistrar::register(
ComponentRegistrar::MODULE,
'Vendorname_Modulename',
__DIR__
);
ยังเห็นองค์ประกอบหลัก ๆ ในวีโอไอพีapp/code/Magento/ของคุณหรือvendor/magento/dir
registration.php ไม่พลาด
นอกจากนี้หากคุณมีregistration.phpไฟล์ในโมดูลของคุณ แต่คุณยังคงได้รับข้อผิดพลาดนี้หมายความregistration.phpว่าไม่ได้โหลดของคุณและ Magento2 ไม่ทราบเกี่ยวกับโมดูลของคุณ
โมดูลของคุณควรอยู่ภายใต้app/code/(ที่ Magento2 จะค้นหาโฟลเดอร์ในapp/code/และค้นหาโมดูลของคุณregistration.php) แต่ถ้าคุณสร้างโมดูลของคุณเป็นแพ็คเกจนักแต่งเพลงมันจะอยู่ในvendor/dir ของนักแต่งเพลงและคุณจะต้องหลอกนักแต่งเพลงให้โหลดโมดูลของคุณregistration.php(Magento ไม่ค้นหาvendor/ด้วยตัวเอง)
หากคุณต้องการตรวจสอบโมดูล Magento2 ใด ๆcomposer.jsonในvendor/magento/module-*คุณจะเห็น"autoload"ส่วนที่อ้างอิงregistration.phpไฟล์ ดังนั้นนักแต่งเพลงจะโหลดโมดูลของคุณregistration.phpซึ่งจะ"บอก" Magento2 โดยอัตโนมัติซึ่งโมดูลของคุณตั้งอยู่
นี่เป็นส่วนหนึ่งของโมดูลMagento Checkoutcomposer.json :
"autoload": {
"files": [
"registration.php"
],
"psr-4": {
"Magento\\Checkout\\": ""
}
}
หากคุณมีโมดูลของคุณในพื้นที่เก็บข้อมูลแยกต่างหากและโหลดผ่านผู้เรียบเรียง หากคุณไม่ได้มีมันอยู่ในที่เก็บแยกต่างหากแล้วโมดูลของคุณไม่ได้อยู่ในแต่vendor/app/code/