Table Rate - Item vs Destination












0















A quick question with regards to the csv which needs to be created for implementing these rules.



I have a basic rule where for example shipping to Belgium for one item starts at £3.00
Then for every extra item the total goes up by £1.00



So in the csv the item # of items field would be:




  1. Then shipping price is £3.00

  2. Then shipping price is £4.00

  3. Then shipping price is £5.00


And so fourth. However when the quantity is met in the check out (the user have item number over 3 in this example) the shipping price will stay at £5.00



What I need is this £1.00 per item rule on however many items are added to the order.
Is there any way to achieve this rather than just adding many more rows to the csv file with a high cap?










share|improve this question





























    0















    A quick question with regards to the csv which needs to be created for implementing these rules.



    I have a basic rule where for example shipping to Belgium for one item starts at £3.00
    Then for every extra item the total goes up by £1.00



    So in the csv the item # of items field would be:




    1. Then shipping price is £3.00

    2. Then shipping price is £4.00

    3. Then shipping price is £5.00


    And so fourth. However when the quantity is met in the check out (the user have item number over 3 in this example) the shipping price will stay at £5.00



    What I need is this £1.00 per item rule on however many items are added to the order.
    Is there any way to achieve this rather than just adding many more rows to the csv file with a high cap?










    share|improve this question



























      0












      0








      0








      A quick question with regards to the csv which needs to be created for implementing these rules.



      I have a basic rule where for example shipping to Belgium for one item starts at £3.00
      Then for every extra item the total goes up by £1.00



      So in the csv the item # of items field would be:




      1. Then shipping price is £3.00

      2. Then shipping price is £4.00

      3. Then shipping price is £5.00


      And so fourth. However when the quantity is met in the check out (the user have item number over 3 in this example) the shipping price will stay at £5.00



      What I need is this £1.00 per item rule on however many items are added to the order.
      Is there any way to achieve this rather than just adding many more rows to the csv file with a high cap?










      share|improve this question
















      A quick question with regards to the csv which needs to be created for implementing these rules.



      I have a basic rule where for example shipping to Belgium for one item starts at £3.00
      Then for every extra item the total goes up by £1.00



      So in the csv the item # of items field would be:




      1. Then shipping price is £3.00

      2. Then shipping price is £4.00

      3. Then shipping price is £5.00


      And so fourth. However when the quantity is met in the check out (the user have item number over 3 in this example) the shipping price will stay at £5.00



      What I need is this £1.00 per item rule on however many items are added to the order.
      Is there any way to achieve this rather than just adding many more rows to the csv file with a high cap?







      csv table-rates shipping-methods






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 7 mins ago









      Teja Bhagavan Kollepara

      2,96341847




      2,96341847










      asked Jan 28 '14 at 13:42









      user1669256user1669256

      3242512




      3242512






















          1 Answer
          1






          active

          oldest

          votes


















          1














          You cannot do that using the table rates.

          The table rates will always use the last available value if there is no record in the taabase for a specific configuration.

          What you can do is to create your own shipping method. This is not that hard.
          See a tutorial here on how to do it..

          The only thing you need to customize is the collectRates method in the shipping model.

          Here is how it can look in your case.



          public function collectRates(Mage_Shipping_Model_Rate_Request $request)
          {
          // skip if not enabled
          if (!Mage::getStoreConfig('carriers/'.$this->_code.'/active')) {
          return false;
          }


          // this object will be returned as result of this method
          // containing all the shipping rates of this method
          $result = Mage::getModel('shipping/rate_result');
          $method = Mage::getModel('shipping/rate_result_method');
          $method->setCarrier($this->_code);
          $method->setCarrierTitle('Some title here');
          $method->setMethod($this->_code);
          $method->setMethodTitle($this->getConfigData('name'));
          //get qty in cart
          $qty = $request->getPackageQty()
          //calculate the price
          $price = 2 + $qty; //3 for 1 item, 4 for 2 items and so on. You can even insert here a calculation algorithm based on config values or what ever comes to mind.
          $method->setPrice($price);
          $result->append($method);
          return $result;

          }





          share|improve this answer























            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "479"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f14004%2ftable-rate-item-vs-destination%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1














            You cannot do that using the table rates.

            The table rates will always use the last available value if there is no record in the taabase for a specific configuration.

            What you can do is to create your own shipping method. This is not that hard.
            See a tutorial here on how to do it..

            The only thing you need to customize is the collectRates method in the shipping model.

            Here is how it can look in your case.



            public function collectRates(Mage_Shipping_Model_Rate_Request $request)
            {
            // skip if not enabled
            if (!Mage::getStoreConfig('carriers/'.$this->_code.'/active')) {
            return false;
            }


            // this object will be returned as result of this method
            // containing all the shipping rates of this method
            $result = Mage::getModel('shipping/rate_result');
            $method = Mage::getModel('shipping/rate_result_method');
            $method->setCarrier($this->_code);
            $method->setCarrierTitle('Some title here');
            $method->setMethod($this->_code);
            $method->setMethodTitle($this->getConfigData('name'));
            //get qty in cart
            $qty = $request->getPackageQty()
            //calculate the price
            $price = 2 + $qty; //3 for 1 item, 4 for 2 items and so on. You can even insert here a calculation algorithm based on config values or what ever comes to mind.
            $method->setPrice($price);
            $result->append($method);
            return $result;

            }





            share|improve this answer




























              1














              You cannot do that using the table rates.

              The table rates will always use the last available value if there is no record in the taabase for a specific configuration.

              What you can do is to create your own shipping method. This is not that hard.
              See a tutorial here on how to do it..

              The only thing you need to customize is the collectRates method in the shipping model.

              Here is how it can look in your case.



              public function collectRates(Mage_Shipping_Model_Rate_Request $request)
              {
              // skip if not enabled
              if (!Mage::getStoreConfig('carriers/'.$this->_code.'/active')) {
              return false;
              }


              // this object will be returned as result of this method
              // containing all the shipping rates of this method
              $result = Mage::getModel('shipping/rate_result');
              $method = Mage::getModel('shipping/rate_result_method');
              $method->setCarrier($this->_code);
              $method->setCarrierTitle('Some title here');
              $method->setMethod($this->_code);
              $method->setMethodTitle($this->getConfigData('name'));
              //get qty in cart
              $qty = $request->getPackageQty()
              //calculate the price
              $price = 2 + $qty; //3 for 1 item, 4 for 2 items and so on. You can even insert here a calculation algorithm based on config values or what ever comes to mind.
              $method->setPrice($price);
              $result->append($method);
              return $result;

              }





              share|improve this answer


























                1












                1








                1







                You cannot do that using the table rates.

                The table rates will always use the last available value if there is no record in the taabase for a specific configuration.

                What you can do is to create your own shipping method. This is not that hard.
                See a tutorial here on how to do it..

                The only thing you need to customize is the collectRates method in the shipping model.

                Here is how it can look in your case.



                public function collectRates(Mage_Shipping_Model_Rate_Request $request)
                {
                // skip if not enabled
                if (!Mage::getStoreConfig('carriers/'.$this->_code.'/active')) {
                return false;
                }


                // this object will be returned as result of this method
                // containing all the shipping rates of this method
                $result = Mage::getModel('shipping/rate_result');
                $method = Mage::getModel('shipping/rate_result_method');
                $method->setCarrier($this->_code);
                $method->setCarrierTitle('Some title here');
                $method->setMethod($this->_code);
                $method->setMethodTitle($this->getConfigData('name'));
                //get qty in cart
                $qty = $request->getPackageQty()
                //calculate the price
                $price = 2 + $qty; //3 for 1 item, 4 for 2 items and so on. You can even insert here a calculation algorithm based on config values or what ever comes to mind.
                $method->setPrice($price);
                $result->append($method);
                return $result;

                }





                share|improve this answer













                You cannot do that using the table rates.

                The table rates will always use the last available value if there is no record in the taabase for a specific configuration.

                What you can do is to create your own shipping method. This is not that hard.
                See a tutorial here on how to do it..

                The only thing you need to customize is the collectRates method in the shipping model.

                Here is how it can look in your case.



                public function collectRates(Mage_Shipping_Model_Rate_Request $request)
                {
                // skip if not enabled
                if (!Mage::getStoreConfig('carriers/'.$this->_code.'/active')) {
                return false;
                }


                // this object will be returned as result of this method
                // containing all the shipping rates of this method
                $result = Mage::getModel('shipping/rate_result');
                $method = Mage::getModel('shipping/rate_result_method');
                $method->setCarrier($this->_code);
                $method->setCarrierTitle('Some title here');
                $method->setMethod($this->_code);
                $method->setMethodTitle($this->getConfigData('name'));
                //get qty in cart
                $qty = $request->getPackageQty()
                //calculate the price
                $price = 2 + $qty; //3 for 1 item, 4 for 2 items and so on. You can even insert here a calculation algorithm based on config values or what ever comes to mind.
                $method->setPrice($price);
                $result->append($method);
                return $result;

                }






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 28 '14 at 14:18









                MariusMarius

                166k28317677




                166k28317677






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Magento Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f14004%2ftable-rate-item-vs-destination%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    What other Star Trek series did the main TNG cast show up in?

                    Berlina muro

                    Berlina aerponto