Magento 2 Enterprise: Tạo mô-đun mới trong thư mục nhà cung cấp


17

Tôi đã cố gắng tạo mô-đun mới trong vendorthư mục trong Magento Enterprise 2.0.0. Không thể tải mô-đun sau khi tôi chạy Magento setup:upgrade.

Nếu tôi di chuyển các tập tin của mình vào app/codethư mục, mô-đun sẽ được thiết lập thành công.

Đối với phiên bản Magento 2 Enterprise, tất cả các mô-đun nằm trong vendorthư mục nhưng phiên bản Cộng đồng sử dụng app/codethư mục. Tôi tự hỏi nếu có thể tạo mô-đun tùy chỉnh trong vendorthư mục. Nếu có, sự khác biệt giữa việc tạo một mô-đun tùy chỉnh trong app/codevendor.

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>

Bạn có chắc chắn rằng bạn cần giữ các mô-đun Enterprise trong thư mục nhà cung cấp?
Valery Statichnyi

Xin lỗi, tôi không hiểu ý của bạn vì tôi đã tải xuống gói Magento 2 Enterprise và tất cả các mô-đun được lưu trữ trong thư mục nhà cung cấp cho dù đó là mô-đun lõi hay mô-đun Doanh nghiệp. Ngay cả khung Magento được lưu trữ trong thư mục nhà cung cấp. Không có thư mục ứng dụng / mã tồn tại trong gói ban đầu.
Jason Yip

Tôi có thể hỏi mục "psr-4" trong composer.json của bạn không? Chúng tôi sử dụng bao bì nhưng chúng tôi có GitLab của riêng mình nên chúng tôi cũng phải mã hóa nhà cung cấp, tuy nhiên mã của tôi không được công nhận. Tôi có thể khởi tạo lớp của mình từ các mô-đun lõi Magento nhưng Cron không hoạt động. Tôi nghĩ rằng nó phải làm với tự động tải, các tệp của tôi không được đọc. Tôi có một lớp Company\Reviews\Cron\Checktrong tệp /vendor/company/Reviews/Cron/Check.phpvà tôi có một cronjob như thế Company\Reviews\Cron\Checknhưng trong cơ sở dữ liệu, cron_schedulenó chỉ ghi "Class Company \ Reviews \ Cron \ Check không tồn tại"
Jacques

Câu trả lời:


11

Các mô-đun tùy chỉnh không nên được phát triển trong vendorthư mục. Sao chép nội dung từ vendor/magento/magento2-basegốc của dự án, tạo tùy chỉnh .gitignorenhư được mô tả ở đây và khởi tạo kho git mới. Sau đó phát triển mô-đun tùy chỉnh theo app/code/VendorName/ModuleName.

Sau đó, khi bạn quyết định phân phối mô-đun, nó sẽ phải được đóng gói và xuất bản . Khi ai đó sẽ mua / cài đặt mô-đun của bạn, nó sẽ được nhà soạn nhạc tự động cài đặt vào vendorthư mục của dự án của họ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.