ম্যাজেন্টো 2 তে একটি jQuery লাইব্রেরি যুক্ত করা হচ্ছে


16

তৃতীয় পক্ষের বিকাশকারী কীভাবে ম্যাজেন্টো 2 তে একটি jQuery লাইব্রেরি যুক্ত করতে পারেন?

যদিও ম্যাজেন্টো 2 তাদের অগ্রভাগ থিমগুলিতে jQuery এর একটি সংস্করণ অন্তর্ভুক্ত করেছে, jQuery অবজেক্টটি বিশ্বব্যাপী নেমস্পেসে তত্ক্ষণাত উপলভ্য নয় । আমি এটি বিশ্বাস করি কারণ ম্যাজেন্টো 2 জিকুয়েরিতে টানতে প্রয়োজনীয় জেএস ব্যবহার করে এবং প্রয়োজনীয় জেএস প্রয়োজনীয়তা না হওয়া পর্যন্ত কোনও মডিউল ফাইল লোড করবে না।

এটি jQuery প্লাগইনগুলির জন্য একটি সমস্যা উপস্থাপন করে। সাধারণত, আমি এইচটিএমএল সহ এমন একটি প্লাগইন অন্তর্ভুক্ত করব যা দেখতে এরকম কিছু দেখায়

<script type="text/javascript" src="http://magento-1-9-2-2.dev/js/commercebug/jquery-ui-1.8.custom/js/jquery.cookie.js"></script>

এটি অবশ্য ম্যাজেন্টো ২ দিয়ে সম্ভব নয় Because কারণ the jquery.cookie.js ফাইলটি বিশ্বজুড়ে jQuery অবজেক্টটি ব্যবহার করে jQuery প্লাগইনকে সংজ্ঞায়িত করে, এটি একটি jQuery is not definedত্রুটি সহ Magento 2 এ ব্যর্থ হবে ।

Magento 2 এর সামনের প্রান্তে অ্যাপ্লিকেশনটিতে কোনও ফ্রন্ট এন্ড বিকাশকারীকে কীভাবে একটি স্ট্যান্ডার্ড জ্যাকেইরি প্লাগইন লাইব্রেরি অন্তর্ভুক্ত করা উচিত?



@ কায়সারসট্টি না, এটি এই প্রসঙ্গে সহায়ক নয়? এটি প্রধান jquery লাইব্রেরি কীভাবে ব্যবহার করবেন এবং Magento উইজেট ব্যবহার করবেন তা দেখায়। এটি কীভাবে কোনও স্ট্যান্ডার্ড জ্যাকোয়ারি প্লাগইন টানতে পারে সে সম্পর্কে কিছুই বলে না।
অ্যালান ঝড়

@ অ্যালানস্টর্ম আপনি কি প্রয়োজনের ব্যবহার না করে Jquery যুক্ত করতে চান?
শাহির আলী

@ সাহেরআলি না, আমি jQuery যা ম্যাগেন্টো 2 দিয়ে জাহাজে ব্যবহার করতে চাই এবং তৃতীয় পক্ষের jquery প্লাগইনটি ব্যবহার করতে চাই যা ম্যাজেন্টো 2
অ্যালান স্টর্মের

@ অ্যালানস্ট্রাম আপনাকে আপনার তৃতীয় পক্ষের প্লাগইন জেএস কোডটি আপনার জেএস ফাইলের মধ্যে প্রয়োজনীয় জেএস ফাংশনের মধ্যে রাখতে হবে যেমন প্রয়োজনীয় (['jquery'], ফাংশন ($) {// আপনার প্লাগইন কোড এখানে});
শাহির আলী

উত্তর:


19

প্রয়োজনীয়js-config.js সংস্থার নাম তৈরি করুন \ মডিউলনাম \ দেখুন \ সম্মুখভাগ \ প্রয়োজনীয়js-config.js যোগ করুন

var config = {
   map: {
       '*': {
           bannerslider: 'Companyname_Modulename/js/flexslider',
       }
   }
};

আপনার মডিউলে আপনার জেএস ফাইলটি কোম্পানির নাম \ মডিউলনাম \ ভিউ \ ফ্রন্টএন্ড \ ওয়েব \ জেএস \ ফ্লেকস্লাইডার.জেএস
আপনি কেবল নিম্নলিখিত সিনট্যাক্স ব্যবহার করে jquery lib যুক্ত করেছেন

<script type="text/javascript">
require(['jquery','bannerslider'],function($){
    $(window).load(function() {
        $('.flexslider-8').flexslider({
            animation: "fade",
            controlNav: "thumbnails",
            slideshowSpeed: 2000,
            minItems: 2,
            maxItems: 4
        });
    });
});
</script>

দ্বিতীয় উদাহরণ

<script type="text/javascript">
    require(['jquery'],function($){
        $(window).load(function() {
            alert('jquery working');
        });
    });
</script>

কীভাবে ফ্লেক্সস্লাইডার জাভাস্ক্রিপ্ট ফাইলটি HTML পৃষ্ঠায় এবং / অথবা প্রয়োজনীয় জেএসে অন্তর্ভুক্ত হয়?
অ্যালান ঝড়

আপনি প্রয়োজন js.F ব্যবহার করে যুক্ত করতে পারেন যদি আপনি বিশদ বর্ণনা করতে চান
প্রতীক

@ অ্যালানস্টোরম দয়া করে উত্তরটি গ্রহণ করুন যদি আপনি পরিষ্কার না হন তবে আমাকে আরও তথ্য শেয়ার করুন :)
প্রতীক

5
যদিও এটি কাজ করে, "jQuery সংজ্ঞায়িত নয়" ত্রুটি এখনও প্রতি আধ ডজন পৃষ্ঠা রিফ্রেশ করে pop
themanWoknowstheman

2
অ্যালান তার ব্লগ পোস্টে ইস্যুটির দুর্দান্ত ব্রেকডাউন করেছেন: alanstorm.com/magento_2_and_requirejs
জাজাহেদীহ

6

আমি ম্যাজেন্টো ডক্স উদ্ধৃত করছি ।

তৃতীয় পক্ষের প্লাগইনে নির্ভরতা তৈরি করতে, নিম্নলিখিত কনফিগারেশন ফাইলগুলিতে শিম নির্দিষ্ট করুন:

আপনার প্রয়োজনীয়js-config.js এ:

var config = {
  "shim": {
     "3-rd-party-plugin": ["jquery"]
    }
  };

তারপরে আপনার থিম বা মডিউলটিতে আপনার তৃতীয় পক্ষের প্লাগইন কোডটি অন্তর্ভুক্ত করুন: "ওয়েব / জেএস / 3-আরডি-পার্টি-প্লাগইন.জেএস":

!(function($){
  // plugin code
  // where $ == jQuery
})(jQuery);

এই সমাধানটি অনুকূল কারণ আপনি যে কোনও ধরণের সংশোধন ছাড়াই আপনার প্লাগইন ফাইলটি অন্তর্ভুক্ত করছেন plugin প্লাগইন লেখক আপডেট হওয়া বা এমনকি সিডিএন ব্যবহার করার সময় জেএস ফাইলটি প্রতিস্থাপন করুন!


5

করণীয় সর্বোত্তম জিনিস হ'ল এই জাতীয় প্লাগইন / লাইব্রেরিগুলি অন্তর্ভুক্ত করার জন্য ম্যাজেন্টো 2 মডিউল বা একটি থিম ব্যবহার করা। এটি প্রস্তাবিত উপায় এবং সর্বোত্তম অনুশীলন


পদ্ধতি 1> থিম : জাভাস্ক্রিপ্ট / jquery লাইব্রেরি থিম সম্পর্কিত হয় (সিস্টেমের চেহারা এবং অনুভূতি পরিবর্তন করার জন্য)।

  • নীচের যে কোনও একটি অবস্থানে
    [থিম_ডির] / ওয়েব / জেএস /
  • আপনার থেরোজেএস-কনফিগারেশন ফাইলগুলি
    [থিম_ডির] এ রাখুন

পদ্ধতি 2> মডিউল : জাভাস্ক্রিপ্ট / jquery লাইব্রেরি যদি কোনও নির্দিষ্ট ব্যবসায়ের সাথে সম্পর্কিত হয় বা একটি ম্যাগেন্টো বৈশিষ্ট্য পরিচালনা করে। এটি একটি মডিউল ভিতরে যেতে হবে।

  • নীচের যে কোনও একটি অবস্থানে [মডিউল_ডির] / দর্শন / সম্মুখভাগ / ওয়েব / জেএস / কাস্টম উপাদান উত্স ফাইলটি রাখুন

  • আপনার প্রয়োজনীয় js-config.js ফাইলটি [ মডিউল_ডির
    ] / ভিউ / ফ্রন্টএন্ড / এ রাখুন

ম্যাজেন্টো 2 দৃ default়ভাবে ডিফল্ট ম্যাজেন্টো উপাদান এবং উইজেটগুলির উত্স কোডটি পরিবর্তন না করার পরামর্শ দেয়। সমস্ত কাস্টমাইজেশন কাস্টম মডিউল বা থিম প্রয়োগ করা আবশ্যক।


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