আপনার প্রশ্নটি থেকে আমি বুঝতে পারি যে চেকআউট পৃষ্ঠায় যখন কেউ আসে তখন আপনি সর্বদা একটি শিপিং পদ্ধতি নির্বাচন করতে চান।
এটি অর্জনের জন্য, আমাদের Magento_Checkout মডিউল থেকে একটি জাভাস্ক্রিপ্ট ওভাররাইড করা প্রয়োজন।
প্রথম জিনিসগুলি, আমাদের একটি মডিউল তৈরি করতে হবে:
নামস্থান / মডিউল / registration.php
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Namespace_Module',
__DIR__
);
নামস্থান / মডিউল, / etc / module.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Namespace_Module" setup_version="1.0.0">
<sequence>
<module name="Magento_Checkout"/>
</sequence>
</module>
</config>
এর পরে, সেই জেএসকে ওভাররাইড করার জন্য আমাদের প্রয়োজনীয়তা তৈরি করতে হবে।
নামস্থান / মডিউল / দৃশ্য / ফ্রন্টএন্ড / requirejs-config.js
var config = {
map: {
'*': {
'Magento_Checkout/js/model/checkout-data-resolver': 'Namespace_Module/js/model/checkout-data-resolver'
}
}
};
এখন আমাদের একই মডিউলটিতে আমাদের মডিউল checkout-data-resolver.js
থেকে অনুলিপি করতে হবেMagento_Checkout/view/frontend/web/js/model
Namespace_Module/view/frontend/web/js/model
এর পরে, আমাদের ফাংশনের ভিতরে একটি শর্ত পরিবর্তন করতে হবে resolveShippingRates: function (ratesData)
থেকে:
...
if (ratesData.length == 1) {
//set shipping rate if we have only one available shipping rate
selectShippingMethodAction(ratesData[0]);
return;
}
...
প্রতি:
...
if (ratesData.length >= 1) {
//set shipping rate if we have only one available shipping rate
selectShippingMethodAction(ratesData[0]);
return;
}
...
এবং এটি হ'ল, এখন আপনাকে যা করতে হবে তা হ'ল:
- মডিউলটি সক্রিয় করুন: পিএইচপি বিন / ম্যাজেন্টো মডিউল: নেমস্পেস_মডিউল সক্ষম করুন
- একটি সেটআপ আপগ্রেড চালান: পিএইচপি বিন / ম্যাজেন্টো সেটআপ: আপগ্রেড
- একটি স্ট্যাটিক মোতায়েন করুন: পিএইচপি বিন / ম্যাজেন্টো সেটআপ: স্ট্যাটিক-সামগ্রী: স্থাপন করুন lo