Magento 2 Enterprise: Satıcı dizininde Yeni Modül Oluştur


17

vendorMagento Enterprise 2.0.0'da dizinde yeni modül oluşturmaya çalıştım . Magento'yu çalıştırdıktan sonra modül yüklenemedi setup:upgrade.

Dosyalarımı app/codedizine taşırsam modül başarıyla kurulacaktır.

Magento 2 Enterprise sürümü için tüm modüller vendordizindedir ancak Topluluk sürümü app/codedizin kullanır . Dizinde özel modül oluşturmanın mümkün olup olmadığını merak ediyorum vendor. Evet ise, app/codeve içinde özel bir modül oluşturmak arasındaki farklar nelerdir 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>

Enterprise modüllerini satıcı dizininde tutmanız gerektiğinden emin misiniz?
Valery Statichnyi

Maalesef, ne demek istediğini anlamıyorum çünkü Magento 2 Enterprise paketini indirdim ve çekirdek modül veya Enterprise modülü olsun, tüm modüller satıcı dizininde saklandı. Magento çerçevesi bile satıcı dizininde saklanır. Orijinal pakette uygulama / kod dizini bulunamadı.
Jason Yip

Composer.json içindeki "psr-4" öğesinin ne yaptığını sorabilir miyim? Ambalaj kullanıyoruz, ancak kendi GitLab'ımız var, bu yüzden satıcıda da kod yazmamız gerekiyor, ancak kodum tanınmıyor. Sınıfımı Magento çekirdek modüllerinden başlatabilirim ama Cron çalışmıyor. Sanırım otomatik yükleme ile ilgisi var, dosyalarım okunmuyor. Company\Reviews\Cron\CheckDosyada bir sınıf var /vendor/company/Reviews/Cron/Check.phpve ben gibi bir cronjob var Company\Reviews\Cron\Checkama veritabanında cron_schedulesadece "Sınıf Şirketi \ Yorumlar \ Cron \ Check mevcut değil" diyor
Jacques

Yanıtlar:


11

Dizinde özel modüller geliştirilmemelidir vendor. İçeriği vendor/magento/magento2-baseprojenin kök dizinine kopyalayın .gitignore, burada açıklandığı gibi özel oluşturun ve yeni git deposunu başlatın. Ardından altında özel modül geliştirin app/code/VendorName/ModuleName.

Daha sonra, modülü dağıtmaya karar verdiğinizde, paketlenmesi ve yayınlanması gerekecektir . Birisi modülünüzü satın alacağı / kuracağı zaman, besteci tarafından vendorprojesinin dizinine otomatik olarak yüklenecektir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.