J'ai essayé de créer un nouveau module dans le vendor
répertoire de Magento Enterprise 2.0.0. Le module n'a pas pu être chargé après avoir exécuté le Magento setup:upgrade
.
Si je déplace mes fichiers dans le app/code
répertoire, le module sera correctement configuré.
Pour l'édition Magento 2 Enterprise, tous les modules sont dans le vendor
répertoire mais l'édition communautaire utilise le app/code
répertoire. Je me demande s'il est possible de créer un module personnalisé dans le vendor
répertoire. Si oui, quelles sont les différences entre la création d'un module personnalisé dans app/code
et vendor
.
vendor/Test/Testing/registration.php
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Test_Testing',
__DIR__ );
vendor/Test/Testing/composer.json
{ "name": "test/testing", "description": "Testing", "require": {
"php": "~5.5.0|~5.6.0|~7.0.0",
"magento/framework": "100.0.*" }, "type": "magento2-module", "version": "0.1.0", "license": [
"proprietary" ], "autoload": {
"files": [ "registration.php" ],
"psr-4": {
"Test\\Testing\\": ""
} } }
vendor/Test/Testing/etc/module.xml
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Test_Testing" setup_version="0.1.0">
</module> </config>
magento-enterprise
module
magento2
composer
Jason Yip
la source
la source
Company\Reviews\Cron\Check
dans le fichier/vendor/company/Reviews/Cron/Check.php
et j'ai un cronjob commeCompany\Reviews\Cron\Check
mais dans la base de données,cron_schedule
il dit simplement que "Class Company \ Reviews \ Cron \ Check n'existe pas"Réponses:
Les modules personnalisés ne doivent pas être développés dans le
vendor
répertoire. Copiez le contenu devendor/magento/magento2-base
à la racine du projet, créez un personnalisé.gitignore
comme décrit ici et initialisez le nouveau référentiel git. Développez ensuite le module personnalisé sousapp/code/VendorName/ModuleName
.Plus tard, lorsque vous déciderez de distribuer le module, il devra être conditionné et publié . Lorsque quelqu'un achètera / installera votre module, il sera automatiquement installé par composer dans le
vendor
répertoire de leur projet.la source