मुझे एक ही समस्या थी और इसे काम करने के लिए एक छोटा कोड परिवर्तन लागू किया गया।
मूल रूप से पदोन्नति नियम भूल जाते हैं। इसे अक्षम करें अलग-अलग वस्तुओं को मुफ्त शिपिंग लागू करते समय शिपिंग दरों तालिका के साथ ठीक से काम नहीं लग रहा है। शिपिंग नियमों को प्राथमिकता लेना और कार्ट कुल के आधार पर गणना करना प्रतीत होता है।
चाल शिपिंग दर मॉड्यूल गणना करने के बिंदु पर कार्ट कुल से मुक्त शिपिंग आइटम घटाना है।
मेरे मामले में किसी विशेष श्रेणी (आईडी: 15) के अंदर सब कुछ मुफ्त शिपिंग प्राप्त करना था। लेकिन आप अपनी जरूरतों के अनुसार तर्क में संशोधन कर सकते हैं।
आपको निम्न फ़ाइल में संशोधन करने की आवश्यकता होगी (या चीजों को ठीक से करने के लिए इसे अपने स्थानीय कोडबेस पर कॉपी करें)।
ऐप \ कोड \ कोर \ Mage \ शिपिंग \ मॉडल \ वाहक \ Tablerate।php
परिवर्तन इस:
public function collectRates(Mage_Shipping_Model_Rate_Request $request)
{
if (!$this->getConfigFlag('active')) {
return false;
}
// exclude Virtual products price from Package value if pre-configured
if (!$this->getConfigFlag('include_virtual_price') && $request->getAllItems()) {
foreach ($request->getAllItems() as $item) {
if ($item->getParentItem()) {
continue;
}
if ($item->getHasChildren() && $item->isShipSeparately()) {
foreach ($item->getChildren() as $child) {
if ($child->getProduct()->isVirtual()) {
$request->setPackageValue($request->getPackageValue() - $child->getBaseRowTotal());
}
}
} elseif ($item->getProduct()->isVirtual()) {
$request->setPackageValue($request->getPackageValue() - $item->getBaseRowTotal());
}
}
}
यह करने के लिए
:
public function collectRates(Mage_Shipping_Model_Rate_Request $request)
{
if (!$this->getConfigFlag('active')) {
return false;
}
// exclude Virtual products price from Package value if pre-configured
//And Exclude items which should have Free Shipping
if (!$this->getConfigFlag('include_virtual_price') && $request->getAllItems()) {
$freeshipping_category_id = 15;
foreach ($request->getAllItems() as $item) {
if ($item->getParentItem()) {
continue;
}
if ($item->getHasChildren() && $item->isShipSeparately()) {
foreach ($item->getChildren() as $child) {
if ($child->getProduct()->isVirtual()) {
$request->setPackageValue($request->getPackageValue() - $child->getBaseRowTotal());
}
//If it's in the free shipping, remove it's value from the basket
$arr_category_ids = $child->getProduct()->getCategoryIds();
if (in_array($freeshipping_category_id, $arr_category_ids)) {
$request->setPackageValue($request->getPackageValue() - $child->getBaseRowTotal());
}
}
} elseif ($item->getProduct()->isVirtual()) {
$request->setPackageValue($request->getPackageValue() - $item->getBaseRowTotal());
}
//If it's in the free shipping category, remove it's value from the basket
$arr_category_ids = $item->getProduct()->getCategoryIds();
if (in_array($freeshipping_category_id, $arr_category_ids)) {
$request->setPackageValue($request->getPackageValue() - $item->getBaseRowTotal());
}
}
}
मैं निम्नलिखित पहले से ही खरीदारी की टोकरी कीमत शासन के लिए सेटअप के लिए शिपिंग लागत को प्रभावित नहीं करेगा: मुफ्त शिपिंग: मिलान के लिए केवल आइटम स्टॉप आगे प्रसंस्करण नियम: नहीं केवल गाड़ी निम्न स्थितियों में (सभी आइटम के लिए खाली छोड़ दें) मिलान आइटम के लिए नियम लागू इन सभी शर्तें सत्य हैं: मुफ्त शिपिंग हाँ है – mattpark22
आप सक्षम है आपका 'मुफ्त शिपिंग' मॉड्यूल? आपको भी इसकी ज़रूरत है। इसे सक्षम करें और इसे न्यूनतम आदेश राशि को बड़े पैमाने पर विशाल पर सेट करें ताकि यह डिफ़ॉल्ट रूप से प्रदर्शित न हो। –
ने मुफ्त शिपिंग सक्षम की है, और न्यूनतम आदेश राशि को "100000000000000000000" पर सेट करें। हालांकि यह मुद्दा दुर्भाग्य से ही बना हुआ है :(कोई अन्य विचार? आपकी मदद के लिए धन्यवाद। – mattpark22