I'm just wondering if it's possible to allow a customer to select a shipping method on the cart/basket page without entering country or postcode? I have added an image of a mockup to show what it is I'm looking to do. If anyone knows a tutorial or extension that would do this that would be great.
Magento 1.8 – Select Shipping Method on Cart Page
cartmagento-1.8shippingshipping-methods
Related Solutions
You need to create your custom shipping method.
To do so, create a custom class extended from Mage_Shipping_Model_Carrier_Abstract
, and start writing your business logic code inside overloaded collectRates
method.
class Arturas_CountryBasedShipping_Model_Shipping_Carrier_ShippingMethod extends Mage_Shipping_Model_Carrier_Abstract {
protected $_code = 'countrybasedshipping';
public function collectRates(Mage_Shipping_Model_Rate_Request $request) {
// skip if not enabled
if( !Mage::getStoreConfig( 'carriers/' . $this->_code . '/active' ) ) {
return false;
}
// Fetching a country based price
$cb_price = $this->getCountryShippingPrice( $request->getDestCountryId() );
$result = Mage::getModel('shipping/rate_result');
$method = Mage::getModel('shipping/rate_result_method');
$method->setCarrier($this->_code);
$method->setMethod($this->_code);
$method->setMethodTitle('Contry Based Shipping');
$method->setCost($cb_price);
$method->setPrice($cb_price);
$result->append($method);
return $result;
}
}
You also may want to read this article.
Use owebia shipping extension. install from
https://marketplace.magento.com/owebia-owebia-shipping-2.html
https://en.store.owebia.com/magento2-module-advanced-shipping.html
Here's documentation for configuration.
condition 1:-For any zipcode,if order value $200 after it's free shiping_method1. and if value is less than $200 ( shipping_method2).
{
"shiping_method1": {
"label": "Free shipping",
"conditions" : {cart.price-tax+discount} > 200.00 // if value more than $200
"fees": 0
}
"shiping_method2": {
"label": "Express Shipping",
"conditions": "( {shiping_method1} ) && ( {cart.price-tax+discount} < 10 )", // if value less than $200 then add any amount you want.
"fees": 12 //some amount you need to add
} }
this is how you create multiple shipping methods with multiple conditions.
Hope it help you ! if any issue I love to Help you further..
Best Answer
If you don't ship to different countries, or if you don't use the matrixrate extension, you can edit the estimate tax & shipping box to get this effect.
I've used this tutorial as a base:
http://www.arscommunity.com/wiki/magento/default-address-for-shipping-estimation
to
and before:
add this
then copy
to
and change it, I've changed it to: