ম্যাজেন্টো 2: ন্যূনতম সুরকার ফাইল


9

আমি অস্থায়ী ইন্টারনেট (অর্থাৎ টুইটার) এর আশেপাশে কয়েকটি জিনিস ভেসে উঠতে দেখেছি যে সাম্প্রতিক ম্যাজেন্টো 2-এ করা কিছু পরিবর্তনগুলি সুরকারের মাধ্যমে বিক্রেতা ডিরেক্টরিতে একটি মডিউল ইনস্টল করা সম্ভব করেছে এবং ম্যাজেন্টো 2 আপনার মডিউলটি কোনও সিমলিংক-ইন টমফুলারি ছাড়াই দেখতে পাবে ।

যদি এটি সত্য composer.jsonহয় তবে ম্যাগনো 2 ব্যবহারকারী তাদের সিস্টেমে তাদের ইনস্টল করতে দেওয়ার জন্য মডিউল বিকাশকারীদের মডিউলটি ব্যবহার করার জন্য কোনও "ন্যূনতম " ফাইল ভাসমান?


আপনি github.com/magento/magento2/pull/1206একবার দেখতে চান । এটি বিশ্বাস করি যে বিক্রেতার মধ্যে ম্যাজেন্টো মডিউলগুলি থাকতে পারে।
লুক রজার্স

উত্তর:


6

হালনাগাদ

দেখে মনে হচ্ছে বিকাশ শাখায় কিছু সর্বশেষ পরিবর্তন (7th ই অক্টোবর) দিয়ে বেশ কিছু জিনিস পরিবর্তিত হয়েছে। এখন দেখে মনে হচ্ছে এটি বিক্রেতার ডিরেক্টরিতে থাকা কোনও মডিউলকে সমর্থন করা সম্ভব।

আমি মডিউল ইনস্টল করার দুটি উদাহরণ তৈরি করেছি। একটি যা অ্যাপ্লিকেশন / কোডে ফাইলগুলি অনুলিপি করে এবং অন্যটি মডিউলটি রেজিস্টার করে যেখানে এটি বিক্রেতার ডিরেক্টরিতে থাকে।

কৌশল অনুলিপি করুন: https://github.com/mttjohnson/magento2-sample-module-minimal-copy নিবন্ধকরণ কৌশল: https://github.com/mttjohnson/magento2-sample-module-minimal-register

বিকাশের উদ্দেশ্যে আমি মনে করি নিবন্ধকরণ কৌশলটি ব্যবহার করা আরও দরকারী কারণ ম্যাজেন্টো দ্বারা পরিচালিত ফাইলগুলি সরাসরি সংশোধন, পরীক্ষা এবং মডিউল রেপোতে প্রতিশ্রুতিবদ্ধ হতে পারে।

আসল উত্তর

আপনার যদি composer.jsonআপনার মডিউল রচয়িতা প্যাকেজের জন্য কোনও ফাইল থাকে যা magento2-moduleডিফল্টরূপে একটি ধরণের থাকে তবে ডিরেক্টরিতে নির্দিষ্ট ম্যাপ করা ডিরেক্টরিতে অনুলিপি করা হবে app/code

{
    "name": "vendorname/module-name",
    "type": "magento2-module",
    "require": {
        "magento/magento-composer-installer": "*"
    },
    "extra": {
        "map": [
            [
                "module",
                "VendorName/ModuleName"
            ]
        ]
    }
}

এই উদাহরণে কমপোজার জাজসনটিতে সুরকার প্যাকেজের নামটি সুরকার প্যাকেজটির vendorname/module-nameজন্য ফাইলগুলি তৈরি করবে vendor/vendorname/module-name

বিশেষ ধরণের ম্যাজেন্টো / ম্যাজেন্টো-সুরকার-ইনস্টলার প্যাকেজটিতে magento2-moduleসুরকার-প্লাগইন হিসাবে প্রয়োগ করা হয় । সে কারণেই আমি এটি প্রয়োজনীয় বিভাগে তালিকাভুক্ত করেছি। এটি এই সুরকার-প্লাগইনটি উপযুক্ত ম্যাগেন্টো ডিরেক্টরিতে ফাইলের অনুলিপি করে ।app/code

extra: {map: [["composerDir","MagentoDir"]]}অধ্যায় সুরকার-plugin ইনস্টলার দ্বারা উল্লেখ করা হয় জানতে আপনার সুরকার প্যাকেজের কি অংশ আপনার Magento, ডিরেক্টরি অনুক্রমের কি অংশ ম্যাপ। প্রদত্ত উদাহরণে এটি vendor/vendorname/module-name/moduleসেখান থেকে ফাইলগুলি নিয়ে যাবে এবং অনুলিপি করবে app/code/VendorName/ModuleName


মানচিত্রের বিভাগটি কি ঠিক এখানে? এটি আমার বুঝতে পেরেছিল যে এই টান অনুরোধটি এটি করেছে যাতে আপনাকে ম্যাজেন্টো মডিউলগুলির সাথে সুরকার ব্যবহার করার জন্য কোনও প্লাগইনের দরকার পড়েনি - যে ম্যাগেন্টো তার নিজের মতো করে বিক্রেতাকে দেখবে। github.com/magento/magento2/pull/1206
অ্যালান ঝড়

আপনার উল্লেখ করা PR এর নীচে কিছু মন্তব্য পড়ে, দেখে মনে হচ্ছে PR টি একীভূত করা হয়েছিল যদিও এটি সুরকার বিক্রেতা ফোল্ডারে থাকা মডিউলগুলিকে সম্পূর্ণ সমর্থন করে না।
এমটিজহোসন

1

দেখে মনে হচ্ছে এর মতো কিছুতে কৌশলটি করা উচিত।

{
    "name": "pulsestorm/module-name",
    "description": "A description of your extension",
    "authors": [
        {
            "name": "Robert Hoffner",
            "email": "rhoffner@example.com"
        }
    ],
    "require": {},
    "autoload": {
        "psr-4": {
            "Package\\Module\\": "src/path/to/Package/Module/Package/Module",
        },        
        "files": [
            "src/path/to/Package/Module/registration.php",
        ]
    }    
}

এখানে কীটি অটোলোডার বিভাগ। এটি একটি পিএসআর -4 অটোলোডার সেট আপ করে যা আপনার শ্রেণীর ফাইলগুলিতে নির্দেশ করে এবং স্বয়ংক্রিয়ভাবে আপনার লোড করে registration.php। যখন সুরকার ফাইলগুলিকে বিক্রেতার মধ্যে ফেলে দেয় এবং অটোলোড ফাইলগুলি পুনরায় জেনারেট করে, ম্যাগেন্টো আপনার মডিউলটি দেখতে সক্ষম হয়।

এর একটি ঝরঝরে পার্শ্ব প্রতিক্রিয়া - কোড আর থাকা উচিত নয় app/code!


আমি এতে বিভ্রান্ত আমার নিজের মডিউল তৈরির বিষয়ে যা কিছু পড়েছি তা আমার ফাইলগুলিকে অ্যাপ / কোডে রেখে দিয়েছে putting 1) এটি কীভাবে কাজ করে এবং 2) এই ঝরঝরে কেন?
কেভান্ডো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.