1

I have three products that are working properly, However I would like to add shipment charges for each product separately, is there any way to display the shipment charges using magento default functionality or do I have to go for some plugin (free-plugins). Each product have different shipping charges, I have done some R&D and I tried them by using the product weight feature of table -rates in magento. So far nothing is working, please tell me what I am missing or how this functionality can be achieved. I am open for all options except paid plugins.

1

you can use this extension : https://www.magentocommerce.com/magento-connect/category-and-product-shipping.html [tested] , once you got extension key,

It's not safe to use Magento connect for installing extension , click this link for more information.

in the worst case, if you want immediate solution , Alternatively you can install the extension through FTP (like FileZilla). You can paste the extension key in this unofficial link and you can download the extension files. Let me know if you find any problems in this.

Note : As this is unofficial 3rd party site, there is no guarantee about security. but i tested many extensions, i did't faced any security problems....

Along with finding shipping charges per product, this will help also for calculating shipping charges per category....

public function collectRates(Mage_Shipping_Model_Rate_Request $request)
    {
        $shippingCarrierTitle =  $this->getConfigData('title');
        if (!isset($shippingCarrierTitle) || $shippingCarrierTitle=='') {
            $shippingCarrierTitle = 'My Shipping Title';
        }
        $methodTitle =  $this->getConfigData('method_title');
        if (!isset($methodTitle) || $methodTitle=='') {
            $methodTitle = 'My Shipping Name';
        }
        $defaultShipping = $this->getConfigData('shipping_rate');
        //Default Shipping Rate defined in admin setting
        $shippingaction = $this->getConfigData('shipping_action');
        // shipping_action Defined in setting: product shipping or category shipping
        $qtyBasedShipping = $this->getConfigData('shippingaction_type');
        //1=>Yes multiply with qty, 0=> not depned on qty
        $finalShippingPrice = 0; //Final Shipping which implement on order
        $cartProductQty = Mage::getSingleton('checkout/cart')->getItemsCount();
        if ($request->getAllItems()) {
            foreach ($request->getAllItems() as $item) {
                $orderProductQty = $item->getQty();
                if ($item->getProduct()->isVirtual() || $item->getParentItem()) {
                    continue;
                }
                if ($item->getHasChildren()) {
                    $productSku = $item->getProduct()->getData('sku');
                } else {
                    $productSku = $item->getSku();
                }
                $finalShippingPrice = $this->calculateshipping(
                    $shippingaction,
                    $defaultShipping,
                    $orderProductQty,
                    $qtyBasedShipping,
                    $finalShippingPrice,
                    $productSku
                );
            }
        }
        if (isset($finalShippingPrice) && $finalShippingPrice == 0) {
        } else if (isset($finalShippingPrice)
            && ($finalShippingPrice < 0 || $finalShippingPrice=='')
        ) {
            if (isset($defaultShipping) && $defaultShipping != 0) {
                if ($qtyBasedShipping == 1) {
                    //Multiply with qty of product
                    $finalShippingPrice += $defaultShipping * $cartProductQty;
                } else {
                    //Not depend on qty of product
                    $finalShippingPrice += (float)$defaultShipping;
                }
            }
        }
        if ($request->getFreeShipping() === true) {
            $finalShippingPrice = '0.00';
        }
        $result = Mage::getModel('shipping/rate_result');
        $method = Mage::getModel('shipping/rate_result_method');
        $method->setCarrier($this->_code);
        $method->setCarrierTitle($shippingCarrierTitle);
        $method->setMethod($this->_code);
        $method->setMethodTitle($methodTitle);
        $method->setPrice($finalShippingPrice);
        //$method->setCost($this->getConfigData('shipping_rate'));
        $result->append($method);
        return $result;
    }

one more extension : https://www.magentocommerce.com/magento-connect/flat-rate-shipping-per-product-6.html [not tested ]

  • let me edit before downvotes..... – Baby in Magento Sep 15 '16 at 9:26
  • already someone downvoted before i edit the answer , you are awesome :-) – Baby in Magento Sep 15 '16 at 9:32
  • this extension does help me to get shipping charges correctly in magento checkout menu, However this is not displaying shipping charges in the cart. – Man S. Sep 15 '16 at 9:36
  • did you checked this one : magentocommerce.com/magento-connect/… as in extension link, they informed it will display in cart page also, can you cross check it..... – Baby in Magento Sep 15 '16 at 9:38
  • anyone one help with latest solution -> magento.stackexchange.com/q/238570/57334 – zus Aug 17 '18 at 6:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.