Magento 2 Modulo personalizzato non carica
-
12-12-2019 - |
Domanda
Ho installato una copia locale di Magento 2 nel mio XAMPP e conoscevo la nuova struttura.Ho comunque imbattuto in un problema quando si tenta di configurare un modulo di base.
Ho creato la seguente struttura file / cartella
app/code/Heirik/Test/etc/module.xml
.
All'interno di questo file ho il seguente
<?xml version="1.0"?>
<config>
<module name="Heirik_Test" schema_version="2.0.0">
</module>
</config>
.
Ho aggiornato la cache del negozio tuttavia quando vado a memorizzare> Configurazione> Avanzate Il modulo non è caricato nell'elenco.Secondo i devdoc più recenti non è più necessario impostare il modulo per attivo all'interno dell'XML.
So che Magento sta leggendo il modulo.xml perché se rimuovo il parametro schema_version ottenuto un errore.
Soluzione
Con le ultime build di Magento questo è cambiato in
php -f bin/magento module:enable --clear-static-content Module_Name
php -f bin/magento setup:upgrade
. Altri suggerimenti
Dopo alcuni ricerca, prova ed errore che ho localizzato la seguente risposta
Per un'istanza magenta esistente, dovrai registrare un modulo personalizzato come segue:
- .
- Modifica il file App / etc / config.php e aggiungi il tuo modulo e specificare il valore "1" (abilitato)
- quindi aggiorna la cache.
Quindi nel mio caso ho dovuto aggiungere
.'Heirik_Test' => 1,
Nell'array Modules all'interno dell'app / etc / config.php
o ancora più facile, è arrivato a Mage install dir e correre:
php -f setup/index.php module-enable --modules=MODULENAME
php -f setup/index.php update
. Quindi il mio problema quando si tenta di ottenere un modulo personalizzato per registrarsi, eseguire Magento 2.2.0 è stato che il file generato da compositore vendor/composer/autoload_files.php
non è stato aggiornato quando ho eseguito l'aggiornamento del compositore.
Non importava ciò che ho fatto, aggiungendolo manualmente al config.php
lo farebbe sembrare che funzionava ma dopo aver eseguito magento setup:upgrade
il modulo non è più registrato e non ha eseguito script di installazione / aggiornamento. Dopo aver aggiornato il compositore correttamente e il controllo del tripple era nel autoload_files
, il modulo registrato e sospirò di sollievo.
solo qualcosa di cui essere a conoscenza.Speriamo che se qualcuno ha problemi simili, questo può far luce.
Il file del modulo denominato il file di configurazione del file module.xml
deve avere uno schema XML e la sua posizione XSD che convalida la struttura del file module.xml
.Il valore dello schema dovrebbe essere come
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd"
.