ম্যাজেন্টো 2: কীভাবে চেকআউট ধাপে পরিবর্তন সনাক্ত করা যায়


9

আমি ম্যাজেন্টো 2 এর চেকআউটে একটি পদক্ষেপ পরিবর্তন সনাক্ত করার সর্বোত্তম পদ্ধতিটি বের করার চেষ্টা করছি। উদাহরণস্বরূপ শিপিংয়ের বিশদ থেকে অর্থ প্রদানের দিকে যাওয়া বা বিপরীতে।

আমি কিছু খনন করেছি এবং vendor/magento/module-checkout/view/frontend/web/js/model/step-navigator.jsআমি next()চালিয়ে যাওয়া বোতামটিতে কোনটি আগুন জ্বালিয়ে ব্যবহার করতে পারি এবং navigateTo()কোনও ব্যবহারকারী যখন সরাসরি চেকআউটস্টেপে ক্লিক করে তখন কোনটি আগুনে জ্বলতে পারে - তবে উভয় পদ্ধতিই বরং হ্যাকি মনে হয় , কীভাবে নির্বিশেষে কোনও পদক্ষেপ পরিবর্তন সনাক্ত করার জন্য একটি পরিষ্কার উপায় থাকতে হবে এবং কোন পদক্ষেপ

আমি stepChange()যখনই একটি চেকআউট ধাপে পরিবর্তন ঘটে তখনই কোনও ফাংশন বা এর অনুরূপ কোনও কিছুর প্রত্যাশায় ছিলাম ।

আমার প্রশ্ন:

যখন চেকআউট ধাপে পরিবর্তন ঘটে তখন আমার কাস্টম জেএস ট্রিগার করার জন্য সেরা পদ্ধতিটি কী?

উত্তর:


12

যখন হ্যাশ কোড পরিবর্তন হয় আপনি তার জন্য একটি হ্যান্ডেল নিবন্ধন করতে পারেন $(window).hashchange(callBack)

এর মধ্যে যা ঘটে Magento_Checkout/view/frontend/web/js/view/progress-bar.js:

$(window).hashchange(_.bind(stepNavigator.handleHash, stepNavigator));

এটি stepNavigator.handleHashযখনই পদক্ষেপটি পরিবর্তন করে তখন ফাংশনটি সম্পাদন ঘটায় কারণ উইন্ডোর হ্যাশ ব্যবহার করে পদক্ষেপ পরিবর্তন করা nextবা navigateToপরিবর্তন করা।


ধন্যবাদ হারুন, দুঃখিত আমি পূর্ণ অনুগ্রহটি দিলাম না আমি জানতাম না এর জন্য একটি সময়সীমা ছিল।
বেন ক্রুক

0

ভাল প্রশ্ন. আমি জানি না সর্বোত্তম উপায়টি কী (আমি অন্যান্য উত্তরগুলির প্রতি আগ্রহী) তবে আমি মনে করি যে একটি কাস্টম ইভেন্ট .next()বা .isProcessed()ফাংশনে যুক্ত করা এবং এটিতে উত্তীর্ণ করা বর্তমান পদক্ষেপটি বেশ ভাল সমাধান হতে পারে।


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