উত্তর:
প্রথমে কার্টের টেম্পলেটটি সম্পাদনা করুন /app/design/frontend/{package}/{theme}/template/checkout/cart.phtml
এবং সহজেই অ্যাক্সেসের জন্য ফর্ম উপাদানটিতে একটি আইডি যুক্ত করুন। ধরা যাক আপনি 'আইডি = "কার্ট-ফর্ম"' যুক্ত করেছেন;
এখন টেমপ্লেটগুলি সম্পাদনা করুন যা কার্ট আইটেমগুলি রেন্ডার করে:
এবং <input>
নামের সাথে উপাদানটিতে এটি cart[<?php echo $_item->getId() ?>][qty]
যুক্ত করুন:
onchange="$('cart-form').submit()"
তবে আমি এটি করার পরামর্শ দিচ্ছি না। এটি ব্যবহারকারীদের জন্য সত্যিই বিরক্তিকর। (অন্তত আমার জন্য).
ধরে নিই যে আপনার সাইটের jQuery কোনও বিরোধ-মোডে অন্তর্ভুক্ত রয়েছে, এখানে এটি অ্যাসিঙ্ক্রোনালিভাবে করার একটি উপায় রয়েছে (অনেক কম বিরক্তিকর!)।
jQuery(document).ready(function(){
jQuery('#shopping-cart-table')
.on(
'change',
'input[name$="[qty]"]',
function(){
var form = jQuery(jQuery(this).closest('form'));
// we'll extract the action and method attributes out of the form
// kick off an ajax request using the form's action and method,
// with the form data as payload
jQuery.ajax({
url: form.attr('action'),
method: form.attr('method'),
data: form.serializeArray()
});
}
);
});
আমার উল্লেখ করা উচিত যে এটি নিম্নলিখিত অনুমানগুলি করে:
আপনার পরিস্থিতি মেলাতে যথাক্রমে 2 এবং 5 লাইনে কোডে নির্বাচকদের সামঞ্জস্য করা সহজ হওয়া উচিত।
এই দুটি ফাইল সম্পাদনা করুন
app/design/frontend/{package}/{theme}/template/checkout/cart/item/default.phtml
app/design/frontend/{package}/{theme}/template/downloadable/checkout/cart/item/default.phtml
এবং নামের সাথে উপাদানটিতে এটি cart[<?php echo $_item->getId() ?>][qty]
যুক্ত করুন:
onchange="this.form.submit()"
আপনার jQuery সংস্করণটি পুরানো হলে আপনি সফল হতে পারবেন না। আমি নীচের মতো একটি উপায় পেয়েছি, আমাদের বন্ধু মারিয়াসের নির্দেশ সন্নিবেশ করানোর জন্য অনুসরণ করুন
/app/design/frontend/{package}/{theme}/template/checkout/cart.phtml
এবং সহজে অ্যাক্সেসের জন্য ফর্ম উপাদানটিতে একটি আইডি যুক্ত করুন। যাক আপনি যুক্ত করুনid="cart-form"
এখন ফাইল খুলুন
app/design/frontend/{package}/{theme}/template/downloadable/checkout/cart/item/default.phtml
এবং ফাইলের শেষে স্ক্রোল করুন এবং আপনি জাভাস্ক্রিপ্ট পাবেন যা পরিমাণের বৃদ্ধি এবং হ্রাস করে। ফাংশনটি দেখতে এটির মতো হবে:
function plusQty(itemId){
qty = $('qty'+itemId).value;
qty = parseInt(qty);
qty++;
$('qty'+itemId).value = qty;
}
function minusQty(itemId){
qty = $('qty'+itemId).value;
qty = parseInt(qty);
if(qty>0){
qty--;
$('qty'+itemId).value = qty;
}
}
এর জন্য পরিবর্তন করুন:
function plusQty(itemId){
qty = $('qty'+itemId).value;
qty = parseInt(qty);
qty++;
$('qty'+itemId).value = qty;
document.getElementById("cart-form").submit();
}
function minusQty(itemId){
qty = $('qty'+itemId).value;
qty = parseInt(qty);
if(qty>0){
qty--;
$('qty'+itemId).value = qty;
document.getElementById("cart-form").submit();
}
}
আপনার কাছে jQuery বোঝা না থাকলে (এখনও), আপনি নামটি সহ <input>
উপাদানটি (বা আমার ক্ষেত্রে কোনও <select>
উপাদান একটি ড্রপডাউন ফিল্ড তৈরি করার পরে, নামটি খুঁজে পেতে) এবং এটি যুক্ত করতে পারেন name="cart[<?php echo $_item->getId() ?>][qty]"
:
onchange="this.form.submit()"
আপনার সম্পাদনা করতে হবে যে পিএইচটিএমএল ফাইলটি এখানে অবস্থিত:
app/design/frontend/{package}/{theme}/template/checkout/cart/item/default.phtml