ম্যাজেন্টো 2: তৃতীয় পক্ষের মডিউলগুলি কোথায় যায়?


22

আমি শুধু Magento 2. আমি প্রথম অফিসিয়াল রিলিজ ইনস্টল এটি যে বিস্মিত app/codeফোল্ডারের সর্বস্বান্ত হয়েছিল

app/code

এটি ওয়েবসাইট থেকে ডাউনলোড করা সংস্করণ এবং সুরকারের মাধ্যমে ইনস্টল করা সংস্করণ উভয়ের জন্যই । এছাড়াও, যখন আমি ম্যানুয়ালি app/codeফোল্ডারটি তৈরি করার চেষ্টা করেছি এবং তারপরে php bin/magento module:enable Pulsestorm_MyModuleএকটি নমুনা মডিউল সক্ষম করার জন্য আমি নিম্নলিখিত ত্রুটিটি পেয়েছি

 Unknown module(s): 'Pulsestorm_MyModule'

তৃতীয় পক্ষের মডিউলগুলি কোথায় থাকার কথা? যদি উত্তরটি "উত্স সংগ্রহস্থল এবং সুরকারের মাধ্যমে ইনস্টল করা হয়", তবে ম্যাগনো 2 সংগ্রহস্থলটিতে বাস করার জন্য একটি মডিউল বিকাশকারীকে তাদের মডিউলগুলি কীভাবে গঠন করতে হবে?

উত্তর:


18

সাধারণত 3 পিএল সমস্ত কিছুর পাশাপাশি ভেন্ডর ডিরেক্টরিতে বাস করবে। তবে… :) আমরা সবাই জানি যে প্রায় প্রতিটি কাস্টম সাইট-বিল্ডের জন্য সাধারণত কাস্টম কোড লেখা থাকে এবং এই আইএমওটি অ্যাপ / কোড / এখনও অন্তর্ভুক্ত। হ্যাঁ, আপনি এখনও অ্যাপ্লিকেশন / কোড থেকে একটি মডিউল চালাতে পারেন।

সমস্ত মডিউল, অবস্থান নির্বিশেষে, একটি composer.jsonএবং একটি registration.phpফাইল থাকা উচিত যা মডিউলটি সিস্টেমে প্রবেশের জন্য ব্যবহৃত হয়। আপনার etc/modules.xmlফাইলও দরকার । এটি, প্রযুক্তিগতভাবে, মডিউলটি নিবন্ধ করার জন্য যা লাগে তা হ'ল:

$ tree app/code/Alger/
app/code/Alger/
└── Skeleton
    ├── composer.json
    ├── etc
       └── module.xml
    └── registration.php

2 directories, 3 files

মডিউলটি আপ এবং চলমান পেতে আপনাকে চালনা করতে হবে setup:upgradeএবং তারপরে cache:flushসিস্টেমটিকে আপনার নতুন উপাদানকে সনাক্ত করতে এবং লোড করতে হবে:

$ bin/magento module:enable Foo_Bar
$ bin/magento setup:upgrade -q && bin/magento cache:flush -q

আপডেট: পাবলিক গিটহাব রেপো থেকে মডিউল ইনস্টল করার দুটি পদ্ধতি: https://gist.github.com/davidalger/77761f13d9752b117f35


আমার মডিউলের দরকার নেই: সক্ষম করুন যদি না আমি আগে এটি অক্ষম করে। আপনি কি এক্সটেনশানটি ইনস্টল করতে সেট করতে পারেন এমন কোনও প্যারামিটার অক্ষম আছে?
এরিক

@ ইরিক যদি আপনি সুরকারের মাধ্যমে রেপো থেকে ইনস্টল করছেন, এটি সুরকার দ্বারা সম্পন্ন হয়েছে। আপনি যদি কেবল এই ফাইলগুলিকে সেখানে রাখেন তবে আপনার যখন এটি সক্ষম করার দরকার হয় তখনই। কমপক্ষে আমি যথেষ্ট নিশ্চিত যে আমি জিএ-র পরে ঠিক এমনটি পেয়েছি কারণ আমি এখানে # পিএইচপিওয়ার্ল্ডে একটি আলাপের জন্য স্লাইডগুলি পোলিশ করছি :)
ডেভিডালগার

আমি স্থানীয়ভাবে কাজ করছিলাম বলে অনেক ধন্যবাদ এখনও রেপোতে চাপ দেয়নি। দুর্দান্ত তথ্য।
Eirik

6

অ্যালান, তারা এখনও ভিতরে app/coderegistration.phpনিম্নলিখিতটি মডিউলনাম ফোল্ডারে আপনার রয়েছে তা নিশ্চিত করুন :

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Namespace_Modulename',
    __DIR__
);

তারপরে চালান:

php bin/magento setup:upgrade

সদ্য তাজা ম্যাজেন্টো 2 সিই মুক্তির জন্য পরীক্ষা করা হয়েছে এবং সঠিকভাবে কাজ করে।


আপনাকে ধন্যবাদ ইরিক, সত্যিই এটি ছিল। এটি স্পষ্ট ছিল না যে রেজিস্ট্রেশন.এইচপিপি এমন কিছু ছিল যা এতে পিছলে গেল না, বা এমন কিছু যা চূড়ান্ত প্রকাশ করবে। বেশ পরিষ্কার এখন :)
অ্যালান ঝড়
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.