সুতরাং আপনি একটি এক্সটেনশন তৈরি করতে চান এবং আপনি এটি তৈরির জন্য একটি বাহ্যিক সংস্থান / প্যাকেজ ব্যবহার করছেন। আমার মতে, আপনি আপনার এক্সটেনশনে যে প্যাকেজটি ব্যবহার করেছেন, আপনার এক্সটেনশনে ম্যাগ্যান্টো সেরা অনুশীলনগুলি অনুসরণ করা উচিত। এর অর্থ আপনার সমস্ত জেএস, সিএসএস, চিত্রগুলি বাহ্যিক উত্স থেকে পৃথক করা উচিত এবং base\default
থিম প্যাকেজ ডিরেক্টরিতে রাখা উচিত ।
অর্থাত তৃতীয় পক্ষের প্যাকেজ সংস্থান স্থাপনের জন্য এমন কোনও অনন্য অবস্থানের উপস্থিতি নেই। শেষ পর্যন্ত আপনি যখন একটি দুর্দান্ত এক্সটেনশান সরবরাহ করেন তখন আপনার এক্সটেনশনের সাথে সম্পর্কিত সমস্ত জেএস, সিএসএস এবং চিত্রগুলি এমন জায়গায় রাখা উচিত যেখানে অন্য কোনও বিকাশকারী সাধারণত দেখা যায় এবং যা প্রায় ক্ষেত্রে base/default
থিম প্যাকেজ।
সংক্ষেপে
আপনার সমস্ত এক্সটেনশন js এর আওতায় আসা উচিত
skin\frontent\base\default\js\[your_extension]\[all_of_your_js_files]
skin\frontent\base\default\css\[your_extension]\[all_of_your_css_files]
skin\frontent\base\default\images\[your_extension]\[all_of_your_images]
//for third parties, you can create an inner directory, to specify it
skin\frontent\base\default\js\[your_extension]\[your_external_resource]\[resource_js_files]
skin\frontent\base\default\css\[your_extension]\[your_external_resource]\[resource_css_files]
skin\frontent\base\default\images\[your_extension]\[your_external_resource]\[resource_image_files]
এইভাবে, অন্য কোনও বিকাশকারী খুব সহজেই আপনার এক্সটেনশনের জেএস, সিএসএস এবং চিত্রগুলি (আপনার বাহ্যিক সংস্থানগুলিরও) খুব সহজেই আবিষ্কার করতে পারেন। যেহেতু আপনি আপনার এক্সটেনশান নাম ডিরেক্টরিতে থাকা বাহ্যিক সংস্থান ফাইলগুলি নির্দেশ করতে অতিরিক্ত অতিরিক্ত ডিরেক্টরি ব্যবহার করছেন তাই এটি অন্যকে একটি সেরা সূত্র দেবে যে আপনার এক্সটেনশনটি কিছু তৃতীয় পক্ষের প্যাকেজগুলির উপর নির্ভর করছে।
সুতরাং আমি আপনাকে বাহ্যিক প্যাকেজগুলি পৃথক করার এবং এগুলিকে আপনার এক্সটেনশনের একটি অংশ হিসাবে তৈরি করার পরামর্শ দিচ্ছি যাতে অন্য বিকাশকারী সহজেই আপনার নির্ভরতাগুলি খুঁজে পেতে পারে। :-)
সম্পাদনা - ১
আপনার নিজের সাইটের মালিকদের জন্য আপনার এক্সটেনশন বোঝা তৈরি করা উচিত নয়। আপনার এক্সটেনশনটি সঠিকভাবে সারিবদ্ধ করে আপনি এই সমস্যা এড়াতে পারেন। এর অর্থ, আপনি যদি নির্দিষ্ট ডিরেক্টরি অবস্থানে সম্পর্কিত সমস্ত ফাইলগুলি সংরক্ষণ করেন তবে কোনও সাইটের মালিকের কী করা উচিত তা হল আপনার এক্সটেনশনটি ধরে ফেলুন এবং তারপরে অ্যাপ্লিকেশন রুট ডিরেক্টরি থেকে আপনার এক্সটেনশনটি মার্জ করুন। অর্থাৎ আপনার এক্সটেনশনটি সঠিকভাবে সারিবদ্ধ করুন। এটিকে ঐটির মত দেখতে হবে।
/app
|_____code\community\Namespace\Module\...
|_____design
| |_____frontend\base\defalt\...
| |_____adminhtml\base\defalt\...
/skin
|_____frontend\base\default\js|css|images\[your_extension]\all_theme_related_files
|_____frontend\base\default\js|css|images\[your_extension]\all_theme_related_files
সম্পাদনা - 2
যদি কিছু প্যাকেজ থাকে, যা সমস্ত Magento অ্যাপ্লিকেশনগুলিতে ভাগ করা উচিত (যেমন একটি জাভাস্ক্রিপ্ট লাইব্রেরি, বা পিএইচপি প্যাকেজ ইত্যাদি), তবে আপনি সেগুলি \lib
ডিরেক্টরিতে রাখতে পারেন।
এটি সত্য যে, যদি দুটি এক্সটেনশন একই রিসোর্স প্যাকেজের উপর নির্ভর করে তবে সেখানে সদৃশ ফাইল উপস্থিত থাকতে পারে। তারা একই সংস্থান প্যাকেজের বিভিন্ন সংস্করণ ব্যবহার করতে পারে। তবে মূলত, আপনার এক্সটেনশানটি কেবলমাত্র আপনার এক্সটেনশনের সংস্থান ব্যবহার করা উচিত (এবং এটি ডিফল্ট ম্যাজেন্টোর সংস্থানসমূহের উপর নির্ভর করতে পারে) এবং আপনার এক্সটেনশানটি তৃতীয় পক্ষের এক্সটেনশনের "প্রসারিত সংস্করণ" না হওয়া পর্যন্ত এটি অন্যান্য এক্সটেনশনের সংস্থার উপর নির্ভর করবে না।