Table Rate - Item vs DestinationHow to add flat rate shipping for order over X value?Multiple Flat Rate...
If I delete my router's history can my ISP still provide it to my parents?
Roman Numerals equation 1
Am I a Rude Number?
Can a person refuse a presidential pardon?
Why exactly do action photographers need high fps burst cameras?
CREATE ASSEMBLY System.DirectoryServices.AccountManagement.dll without enabling TRUSTWORTHY
My cat mixes up the floors in my building. How can I help him?
Table formatting top left corner caption
Injecting creativity into a cookbook
What's a good word to describe a public place that looks like it wouldn't be rough?
Why has the mole been redefined for 2019?
What are "industrial chops"?
How can I get my players to come to the game session after agreeing to a date?
Citing paywalled articles accessed via illegal web sharing
How to count the characters of jar files by wc
Avoiding morning and evening handshakes
On a wire designated as '3x14AWG' what does the '3x' part mean?
Difference between `vector<int> v;` and `vector<int> v = vector<int>();`
Dilemma of explaining to interviewer that he is the reason for declining second interview
Using only 1s, make 29 with the minimum number of digits
How can I deliver in-universe written lore to players without it being dry exposition?
How to prevent users from executing commands through browser URL
Find some digits of factorial 17
How do Chazal know that the descendants of a Mamzer may never marry into the general populace?
Table Rate - Item vs Destination
How to add flat rate shipping for order over X value?Multiple Flat Rate Shipping OptionsHow to add fake CSV column names to custom importexport models to make them validate on import?Discrepancies with $_item->getFreeShipping() - can't find whether order item had free shippingtable weight vs destinationHow to compare value in the Table rate and display the equivalent Price from Table RateShopping cart rule not applying to shippingFlat Rate Shipping - 'Per Attribute' TypeTable Rate Shipping ExtensionShipping rate calculation in Table rate Shipping method Magento 2
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:
- Then shipping price is £3.00
- Then shipping price is £4.00
- 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
add a comment |
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:
- Then shipping price is £3.00
- Then shipping price is £4.00
- 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
add a comment |
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:
- Then shipping price is £3.00
- Then shipping price is £4.00
- 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
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:
- Then shipping price is £3.00
- Then shipping price is £4.00
- 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
csv table-rates shipping-methods
edited 50 mins ago
Teja Bhagavan Kollepara
2,96341847
2,96341847
asked Jan 28 '14 at 13:42
user1669256user1669256
3242512
3242512
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
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;
}
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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;
}
add a comment |
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;
}
add a comment |
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;
}
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;
}
answered Jan 28 '14 at 14:18
Marius♦Marius
166k28317677
166k28317677
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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