Question

J'ai installé une copie locale de Magento 2 dans mon XAMPP et j'ai appris à connaître la nouvelle structure.J'ai cependant rencontré un problème en essayant de configurer un module de base.

J'ai créé la structure de fichiers/dossiers suivante

app/code/Heirik/Test/etc/module.xml

Dans ce fichier, j'ai ce qui suit

<?xml version="1.0"?>
<config>
    <module name="Heirik_Test" schema_version="2.0.0">
    </module>
</config>

J'ai actualisé le cache du magasin, mais lorsque je vais dans magasin> configuration> avancé, le module ne se charge pas dans la liste.Selon les documents de développement les plus récents, il n'est plus nécessaire de définir le module comme étant actif dans le XML.

Je sais que Magento lit le module.xml car si je supprime le paramètre schema_version, j'obtiens une erreur.

Était-ce utile?

La solution

avec les dernières constructions de Magento, cela a changé en

php -f bin/magento module:enable --clear-static-content Module_Name
php -f bin/magento setup:upgrade

Autres conseils

Après la recherche, l'essai et l'erreur, j'ai localisé la réponse suivante

Pour une instance Magento existante, vous devez enregistrer un module personnalisé comme suit:

  1. Modifier le fichier app / etc / config.php et ajoutez votre module là-bas et spécifiez la valeur "1" (activée)
  2. Puis rafraîchissez le cache.

    Donc, dans mon cas, j'ai dû ajouter

    'Heirik_Test' => 1,
    

    dans la matrice de modules Inside App / etc / config.php

ou encore plus facile, est arrivé à la mage installer dir et exécuter:

php -f setup/index.php module-enable --modules=MODULENAME
php -f setup/index.php update

Donc, mon problème lorsque j'essayais d'enregistrer un module personnalisé, en exécutant Magento 2.2.0, était que le fichier généré par le compositeur vendor/composer/autoload_files.php n'a pas été mis à jour lorsque j'ai exécuté la mise à jour du compositeur.

Peu importe ce que je faisais, l'ajouter manuellement au config.php cela donnerait l'impression que cela fonctionnait mais après avoir exécuté magento setup:upgrade le module n'était plus enregistré et n'exécutait aucun script d'installation/mise à niveau.

Après avoir mis à jour correctement le compositeur et vérifié trois fois, il était dans le autoload_files, le module s'est enregistré et j'ai soupiré de soulagement.

Juste quelque chose dont il faut être conscient.J'espère que si quelqu'un d'autre a des problèmes similaires, cela pourra nous éclairer.

Le fichier de votre module nommé module.xml Fichier de configuration La balise doit avoir XML Schema et son emplacement XSD qui valident votre structure de fichier generaCoDiCodeCode.La valeur du schéma devrait être comme

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd"

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top