registration.php
manquant
Apparemment, mon Vendorname_Modulename
module manquait registration.php
. J'utilise la dernière version de Magento2 depuis GitHub.
Chaque module doit s'enregistrer dans le ComponentRegistrar
. Un typique registration.php
pour un module (à la racine de votre module) peut contenir:
<?php
use Magento\Framework\Component\ComponentRegistrar;
ComponentRegistrar::register(
ComponentRegistrar::MODULE,
'Vendorname_Modulename',
__DIR__
);
Voir également tout composant de base Magento dans app/code/Magento/
ou votre vendor/magento/
dir
registration.php
À ne pas manquer
En plus de cela, si vous avez un registration.php
fichier dans votre module, mais que vous obtenez toujours cette erreur, cela signifie que votre registration.php
n'a pas été chargé et Magento2 ne connaît pas votre module.
Votre module doit être sous app/code/
(où Magento2 recherchera les dossiers app/code/
et trouvera vos modules registration.php
), mais si vous avez construit votre module en tant que package Composer, il sera dans le répertoire Composer vendor/
et vous devrez inciter Composer à charger votre module registration.php
(Magento ne recherche pas vendor/
par lui-même).
Si vous souhaitez vérifier tout du module Magento2 composer.json
de dans vendor/magento/module-*
, vous verrez une "autoload"
section qui fait référence au registration.php
fichier. Ainsi, Composer chargera automatiquement vos modules registration.php
qui "diront" à Magento2 où se trouve votre module.
Ceci est un fragment du module Magento Checkoutcomposer.json
:
"autoload": {
"files": [
"registration.php"
],
"psr-4": {
"Magento\\Checkout\\": ""
}
}
Si vous avez votre module dans un référentiel séparé et chargé via composer, alors ce qui précède est le chemin à parcourir. Si vous ne l'avez pas dans un référentiel séparé, votre module n'appartient pas à vendor/
mais à app/code/
.