Magento 2 Enterprise: विक्रेता निर्देशिका में नया मॉड्यूल बनाएँ


17

मैंने vendorMagento Enterprise 2.0.0 में निर्देशिका में नया मॉड्यूल बनाने की कोशिश की । Magento चलाने के बाद मॉड्यूल लोड नहीं किया जा सका setup:upgrade

यदि मैं अपनी फ़ाइलों को app/codeनिर्देशिका में ले जाता हूं , तो मॉड्यूल सफलतापूर्वक स्थापित किया जाएगा।

Magento 2 एंटरप्राइज़ संस्करण के लिए, सभी मॉड्यूल vendorनिर्देशिका में हैं, लेकिन समुदाय संस्करण 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>

क्या आप सुनिश्चित हैं कि आपको एंटरप्राइज़ मॉड्यूल को वेंडर निर्देशिका में रखने की आवश्यकता है?
वलरी स्टेटिचैनी

क्षमा करें, मुझे समझ नहीं आ रहा है कि आपका क्या मतलब है क्योंकि मैंने Magento 2 एंटरप्राइज़ पैकेज डाउनलोड किया है और सभी मॉड्यूल विक्रेता निर्देशिका में संग्रहीत किए गए हैं, इससे कोई फर्क नहीं पड़ता कि यह कोर मॉड्यूल या एंटरप्राइज मॉड्यूल है। यहां तक ​​कि Magento के ढांचे को विक्रेता निर्देशिका में संग्रहीत किया जाता है। मूल पैकेज में कोई एप्लिकेशन / कोड निर्देशिका मौजूद नहीं थी।
जेसन यिप

क्या मैं पूछ सकता हूं कि आपके कंपोज़र में "psr-4" आइटम क्या है। हम पैकेजिंग का उपयोग करते हैं, लेकिन हमारे पास अपना GLLab है, इसलिए हमें वेंडर में भी कोड करना होगा, हालांकि मेरा कोड पहचाना नहीं गया है। मैं अपनी क्लास को Magento के कोर मॉड्यूल से इंस्टेंट कर सकता हूं लेकिन क्रोन काम नहीं करता है। मुझे लगता है कि इसे ऑटोलडिंग के साथ करना है, मेरी फाइलें पढ़ी नहीं जा रही हैं। मेरे पास Company\Reviews\Cron\Checkफ़ाइल में एक क्लास है /vendor/company/Reviews/Cron/Check.phpऔर मेरे पास एक क्रोनजॉब है, Company\Reviews\Cron\Checkलेकिन डेटाबेस में cron_scheduleयह सिर्फ "क्लास कंपनी \ रिव्यू \ क्रोन \ चेक मौजूद नहीं है"
जैक्स

जवाबों:


11

कस्टम मॉड्यूल को vendorनिर्देशिका में विकसित नहीं किया जाना चाहिए । vendor/magento/magento2-baseप्रोजेक्ट के रूट से कंटेंट कॉपी करें , यहां.gitignore बताए अनुसार कस्टम बनाएं और नए git रिपॉजिटरी को इनिशियलाइज़ करें । फिर के तहत कस्टम मॉड्यूल विकसित करना app/code/VendorName/ModuleName

बाद में, जब आप मॉड्यूल को वितरित करने का निर्णय लेते हैं, तो इसे पैक और प्रकाशित करना होगा । जब कोई आपके मॉड्यूल को खरीदेगा / स्थापित करेगा, तो यह संगीतकार द्वारा vendorअपने प्रोजेक्ट की निर्देशिका में स्वचालित रूप से इंस्टॉल किया जाएगा ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.