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/