ম্যাজেন্টো 2 এন্টারপ্রাইজ: বিক্রেতা ডিরেক্টরিতে নতুন মডিউল তৈরি করুন


17

আমি vendorMagento এন্টারপ্রাইজ 2.0.0 তে ডিরেক্টরিতে নতুন মডিউল তৈরি করার চেষ্টা করেছি to আমি ম্যাজেন্টো চালানোর পরে মডিউলটি লোড করা যায়নি setup:upgrade।

আমি যদি আমার ফাইলগুলি app/codeডিরেক্টরিতে স্থানান্তরিত করি তবে মডিউলটি সফলভাবে সেট আপ হবে।

ম্যাজেন্টো 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>

আপনি কি ভেন্ডর ডিরেক্টরিতে এন্টারপ্রাইজ মডিউলগুলি রাখা দরকার তা নিশ্চিত?
— ভ্যালেরি স্ট্যাটিচনি 14

দুঃখিত, আপনি কী বলতে চাইছেন তা আমি বুঝতে পারছি না কারণ আমি ম্যাগেন্টো 2 এন্টারপ্রাইজ প্যাকেজটি ডাউনলোড করেছি এবং সমস্ত মডিউলটি বিক্রেতা মডিউল বা এন্টারপ্রাইজ মডিউল বিবেচনা করেই ডিরেক্টরিতে সঞ্চিত ছিল। এমনকি ম্যাজেন্টো ফ্রেমওয়ার্কটি বিক্রেতা ডিরেক্টরিতে সঞ্চয় করা হয়। মূল প্যাকেজটিতে কোনও অ্যাপ / কোড ডিরেক্টরি বিদ্যমান নেই।
— জেসন ইপ

আমি কী জিজ্ঞাসা করতে পারি আপনার সুরকার.জসনের "পিএসআর -4" আইটেমটি কী করে? আমরা প্যাকেজিং ব্যবহার করি তবে আমাদের নিজস্ব গিটল্যাব রয়েছে তাই বিক্রেতাকেও আমাদের কোড করতে হবে তবে আমার কোডটি স্বীকৃত নয়। আমি আমার ক্লাসটি ম্যাজেন্টো কোর মডিউলগুলি থেকে ইনস্ট্যান্ট করতে পারি তবে ক্রোন কাজ করে না। আমি মনে করি এটি অটোলয়েডিংয়ের সাথে সম্পর্কিত, আমার ফাইলগুলি পড়া হচ্ছে না। আমার Company\Reviews\Cron\Checkফাইলে একটি ক্লাস রয়েছে /vendor/company/Reviews/Cron/Check.phpএবং আমার মত একটি ক্রোনজব রয়েছে Company\Reviews\Cron\Checkতবে ডাটাবেসে cron_scheduleএটি কেবল "ক্লাস কোম্পানির \ পর্যালোচনা \ ক্রোন \ চেকের অস্তিত্ব নেই" বলে বলেছিল
— জ্যাক

উত্তর:


11

ডিরেক্টরিতে কাস্টম মডিউলগুলি বিকাশ করা উচিত নয় vendor। vendor/magento/magento2-baseপ্রকল্পের মূল থেকে কন্টেন্ট অনুলিপি করুন , এখানে.gitignore বর্ণিত অনুযায়ী কাস্টম তৈরি করুন এবং নতুন গিট সংগ্রহস্থল শুরু করুন। তারপরে কাস্টম মডিউলটি বিকাশ করুন app/code/VendorName/ModuleName।

পরবর্তীতে, আপনি যখন মডিউল বিতরণ করার সিদ্ধান্ত নেন, এটা করতে হবে প্যাকেজ এবং প্রকাশিত । যখন কেউ আপনার মডিউলটি কিনবেন / ইনস্টল করবেন, এটি স্বয়ংক্রিয়ভাবে রচয়িতা দ্বারা vendorতাদের প্রকল্পের ডিরেক্টরিতে ইনস্টল হয়ে যাবে ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.