Magento 2 Enterprise : 공급 업체 디렉토리에 새 모듈 생성


17

vendorMagento Enterprise 2.0.0의 디렉토리에 새 모듈을 만들려고했습니다 . Magento를 실행 한 후 모듈을로드 할 수 없습니다 setup:upgrade.

파일을 app/code디렉토리 로 옮기면 모듈이 성공적으로 설정됩니다.

Magento 2 Enterprise Edition의 경우 모든 모듈이 vendor디렉토리에 있지만 Community Edition은 app/code디렉토리를 사용합니다 . vendor디렉토리에 사용자 정의 모듈을 만들 수 있는지 궁금합니다 . 예 경우에 사용자 정의 모듈을 만드는 사이의 차이 무엇인가 app/code하고 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>

엔터프라이즈 모듈을 공급 업체 디렉토리에 보관해야합니까?
Valery Statichnyi

죄송합니다. Magento 2 Enterprise 패키지를 다운로드했으며 코어 모듈이든 Enterprise 모듈이든 상관없이 모든 모듈이 공급 업체 디렉토리에 저장 되었기 때문에 귀하가 의미하는 바를 이해하지 못합니다. Magento 프레임 워크도 벤더 디렉토리에 저장됩니다. 원래 패키지에 app / code 디렉토리가 없습니다.
Jason Yip

composer.json의 "psr-4"항목이 무엇인지 물어볼 수 있습니까? 우리는 패키징을 사용하지만 자체 GitLab을 가지고 있으므로 공급 업체에서도 코딩해야하지만 코드가 인식되지 않습니다. Magento 코어 모듈에서 클래스를 인스턴스화 할 수 있지만 Cron이 작동하지 않습니다. 자동로드와 관련이 있다고 생각하는데 파일을 읽지 못합니다. 나는 Company\Reviews\Cron\Check파일 에 클래스 가 /vendor/company/Reviews/Cron/Check.php있고 나는 cronjob을 가지고 Company\Reviews\Cron\Check있지만 데이터베이스 cron_schedule에는 "Class Company \ Reviews \ Cron \ Check does not exist"라고 표시되어 있습니다.
Jacques

답변:


11

사용자 정의 모듈은 vendor디렉토리 에서 개발해서는 안됩니다 . vendor/magento/magento2-base프로젝트의 루트 에서 컨텐츠를 복사 하고 여기에.gitignore 설명 된대로 사용자 정의 를 작성 하고 새 자식 저장소를 초기화 하십시오 . 그런 다음 아래에서 사용자 정의 모듈을 개발하십시오.app/code/VendorName/ModuleName .

나중에 모듈을 배포하기로 결정하면 패키지를 게시하고 게시해야 합니다. 누군가 모듈을 구매 / 설치할 때, 작곡가가 vendor자신의 프로젝트 디렉토리에 자동으로 설치합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.