registration.php зниклий безвісти
Мабуть, у моєму Vendorname_Modulenameмодулі відсутній registration.php. Я запускаю останню версію Magento2 від GitHub.
Кожен модуль повинен зареєструвати себе у ComponentRegistrar. Типовий registration.phpдля модуля (у корені вашого модуля) може містити:
<?php
use Magento\Framework\Component\ComponentRegistrar;
ComponentRegistrar::register(
ComponentRegistrar::MODULE,
'Vendorname_Modulename',
__DIR__
);
Також дивіться будь-який основний компонент Magento у app/code/Magento/вашому vendor/magento/реєстрі
registration.php НЕ відсутня
На додаток до цього, якщо у вас є registration.phpфайл у вашому модулі, але ви все ще отримуєте цю помилку, це означає, що ваш файл registration.phpне завантажений, а Magento2 не знає про ваш модуль.
Ваш модуль повинен знаходитися під app/code/(де Magento2 здійснюватиме пошук у папках app/code/та знаходитиме модулі registration.php), але якщо ви створили свій модуль як пакет Composer, він буде знаходитися в режимі Composer, vendor/і вам потрібно буде обдурити Composer у завантаженні модуля 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/.