আপনি এখানে একটি ভাল, পরিষ্কার, নির্দশনীয় উত্তর খুঁজে পাবেন না। মোটামুটি, আপনার মডিউলে ইভেন্টগুলি প্রেরণ করা উচিত যেখানে আপনার এবং আপনার ব্যবহারকারীদের তাদের প্রয়োজন - আপনি যদি তাদের কোথাও প্রয়োজন হতে পারে তা ভাবতে না পারেন, আপনাকে সেগুলি প্রেরণের দরকার নেই। ম্যাজেন্টো নিজেই অনেকগুলি বিভিন্ন স্থানে (কন্ট্রোলার প্রাক / পোস্ট প্রেরণ, কোনও ক্রুড অপারেশন ইত্যাদি) এ অনেক ইভেন্টের উদ্রেক করে যে আপনার মডিউলটি ইতিমধ্যে আপনাকে কিছু না করেই বেশ কয়েকটি দরকারী ইভেন্ট প্রেরণ করবে।
যেহেতু এটি সন্তোষজনক নয়, আপনি চাইবেন যে আপনার মডিউলটি কোনও ইভেন্ট প্রেরণ করবে যখন আপনার মডিউলে এমন কিছু পদক্ষেপ নেওয়া হয় যে আপনার ব্যবহারকারীরা মূল ক্রিয়ায় পৃথক পদক্ষেপগুলি আইটেমগুলি যুক্ত করতে, আইটেমগুলি মুছতে, পরিবর্তন করতে বা আলাদা পদক্ষেপ নিতে চায় might উদাহরণস্বরূপ - ম্যাজেন্টোর একটি visitor_init
ইভেন্ট রয়েছে যা স্বয়ংক্রিয়ভাবে উত্পন্ন ইভেন্টের মানক স্যুটটির অংশ নয়। এই ইভেন্টটি প্রোগ্রামারগুলিকে ম্যাজেন্টো লগগুলির ডেটা লগ করার আগে দর্শকের আপত্তিটি পরিবর্তন করতে দেয়। এগুলি মূল মডিউল বিকাশকারীদের নির্বিচারে জানার কোনও উপায় ছিল নাএখানেই একটি ইভেন্ট যুক্ত করার দরকার ছিল - এটি সম্ভবত বৈশিষ্ট্যগুলির অনুরোধ এবং / অথবা সিস্টেম ব্যবহারকারীদের সাথে সাক্ষাত্কার থেকে আসে। আপনার ব্যবহারকারীরা কী চান তা জানুন এবং যদি অ্যাডমিনের মাধ্যমে এটি করার জন্য কোনও ইউআই / ইউএক্স তৈরি করা সম্ভব / ব্যবহারিক না হয় তবে একটি ইভেন্ট হুক যুক্ত করুন যাতে অন্য প্রোগ্রামার তাদের জন্য এটি করতে পারে।
কম যৌনতার সাথে, ইভেন্টগুলি যুক্ত করা বিকাশকারীদের (আপনার ব্যবহারকারী বা এমনকি আপনার দল) সক্ষম করার এক সস্তা উপায় হতে পারে যে কোডটির এক জাঁকজমকপূর্ণ বিটটিতে কিছু কার্যকারিতা যুক্ত করার জন্য যা সবাই স্পর্শ করতে ভয় পায়। dispatchEvent
কোডের মাঝামাঝি সময়ে আপনার কলটি প্লপ করুন , এতে হুক করুন এবং কোডটি মূল ক্ষেত্রের মধ্যে বিরক্ত না করে আপনি আপনার কার্যকারিতা যুক্ত করতে পারেন। [সম্পাদক: এছাড়াও আপনার কিছুটা সময় সেই ভয়াবহ কোডটি রিফ্যাক্টর করা উচিত]
পারফরম্যান্স অনুসারে প্রেরণে কোনও ইভেন্ট যুক্ত করা নির্ভর করবে যেখানে আপনি এটি যুক্ত করবেন তার উপর। আপনি যখন dispatch
ইভেন্টটি কল করেন , ম্যাগান্তোকে কয়েকটি অতিরিক্ত পিএইচপি কল করা, যে কোনও কনফিগার করা পর্যবেক্ষকের জন্য কনফিগারেশনটি জিজ্ঞাসা করা এবং তারপরে পর্যবেক্ষকদের কল করতে হবে। একবার হয়ে গেল, এটি একটি স্ট্যান্ডার্ড ম্যাজেন্টো প্রেরণের সুযোগে সস্তা সংযোজন। তবে বারবার করা হয়েছে, (প্রতিটি ব্লকের রেন্ডার করার আগে বলুন) এটি যুক্ত হতে পারে up এখানে থাম্বের কোনও ভাল নিয়ম নেই - সর্বদা সঠিক উত্তরটি প্রোফাইল is
অবশেষে, ডাব্লু / আর / টি ম্যাজেন্টো 2, এটি এখনও খুব তাড়াতাড়ি বলতে হবে। উপরের সমস্তটি এখনও প্রয়োগ হয় - তবে প্লাগইন সিস্টেমটি কয়েকটি কুঁচকে যুক্ত করে। প্লাগইনগুলি এক দৃষ্টিকোণ থেকে, ম্যাজেন্টোতে যে কোনও পাবলিক মেথড কলের জন্য আচরণের মতো ইভেন্ট তৈরির উপায় । তত্ত্ব অনুসারে, আপনি যদি আপনার ক্লাসগুলি সঠিকভাবে ডিজাইন করেন তবে আপনার কোনও ইভেন্টের প্রয়োজন হবে না। যাইহোক, বাস্তবে, কোনও ইভেন্টটিকে কিছুটা সুরক্ষিত বা ব্যক্তিগত পদ্ধতি কোডের মধ্যে ফেলে দেওয়া ম্যাজেন্টো বিকাশকারীদের জন্য একটি লোভনীয় সমাধান হয়ে উঠবে যখন বিকল্পটি দীর্ঘতর রিফ্যাক্টরিং প্রক্রিয়া হবে। এছাড়াও, একটি নির্দিষ্ট নামযুক্ত ইভেন্ট তৈরি করা প্রায়শই আপনার মডিউলটি ব্যবহার করে বিকাশকারীদের জন্য বন্ধুত্বপূর্ণ অভিজ্ঞতা তৈরি করতে পারে।
আশা করি এইটি কাজ করবে!