You can clone the Per Unit perweightunit shipping module ...
And set each up for a different Zone ...
The difference would be what you set the Rate to be in the module ...
Example:
US set to 1.00
UK set to 2.00
etc.
Printable View
You can clone the Per Unit perweightunit shipping module ...
And set each up for a different Zone ...
The difference would be what you set the Rate to be in the module ...
Example:
US set to 1.00
UK set to 2.00
etc.
Hi all,
With reference to the mzmt module, below is from Jason Guerney's royal mail 'royalmail_geozone.sql' file.
('', 'Shp: Royal Mail UK', 'Royal Mail: UK Only', NULL, now());
INSERT INTO `zones_to_geo_zones` VALUES
('', 222, '', last_insert_id(), NULL, now()),
('', 241, '', last_insert_id(), NULL, now()),
('', 242, '', last_insert_id(), NULL, now()),
('', 243, '', last_insert_id(), NULL, now()),
('', 244, '', last_insert_id(), NULL, now()),
('', 245, '', last_insert_id(), NULL, now()),
('', 246, '', last_insert_id(), NULL, now());
Now, I am no programmer, but from looking at the code above, I would say that its for UK deliveries, and the 222, 241, 242 etc.... numbers are the country ID's for countries included in this shipping zone, I am needing to modifiy Jason's sql for my own needs, so that I am shipping to England/Scottish (lowlands)/Wales, N.Ireland, RO Ireland, France, USA, Canada and a number of other countries in Europe - unfortunately, for the life of me, I cannot find an exhaustive listed of what country id number ref to which country.
ie: 222 = England
241 = N.Ireland etc...
The above are guesses, and are most probably wrong... but I hope you understand what I'm after.
Many Thanks, Vaughn, S.Wales, UK.
I am using the MZMT module for different shipping tables based on price. If a virtual product is ordered, no shipping is calculated.
But if a product requiring shipping is ordered, the shipping is calculated based on the total price instead of just the shipped products price.
L., I use the built in Zen Cart functions to get the totals to use in calculations, so as long as you're using a version of Zen Cart that has these functions, it should work fine.
See around line 190 of the module:
As long as the shopping cart class in your version of Zen Cart has the "free_shipping_prices" method, it should be working fine, that is unless the cart:: free_shipping_prices() method is not working properly or something else isn't quite setup right, but I don't know.PHP Code:
function determineTableMethod($geozone_mode) {
global $total_count, $shipping_weight;
switch ($geozone_mode) {
case 'price':
if (method_exists($_SESSION['cart'], 'free_shipping_prices')) {
$this->order_total = $_SESSION['cart']->show_total() - $_SESSION['cart']->free_shipping_prices();
} else {
$this->order_total = $_SESSION['cart']->show_total();
}
break;
/* ... */
}
I forget which version cart::free_shipping_prices() was introduced in, but it was awhile ago I know because the main reason I have that if statement around it is for semi-backward compatibility with older versions of Zen Cart.
I believe this is the correct way to accommodate free shipping items when the base is the price. If you look in the core's standard table shipping module (table.php), it does the same thing (about line 90):
PHP Code:
// shipping adjustment
if (MODULE_SHIPPING_TABLE_MODE == 'price') {
$order_total = $_SESSION['cart']->show_total() - $_SESSION['cart']->free_shipping_prices() ;
/* ... */
Just create the geo zone definition through the Zen Cart admin. Doing an SQL import is quicker for sure, but if you don't know what you're doing, then the standard method of creating the zone definitions in the admin is by far easier and less error prone. (plus once you get it entered, you could export the SQL if you wanted to for future use)
There's a small video on the MZMT index page that shows how to go about making geo zone definitions in the admin, if you're not sure how to. To keep the size small, the camera pans around quite a bit, but you should be able to follow it. On the MZMT index page, look for the link titled Download "Shipping Geo Zones Creation Help Video". I think it is in QuickTime format.
Thank you for the quick reply!
I narrowed down the problem to this line
$_SESSION['cart']->free_shipping_prices()
returning $0.
I double checked in the Admin>Catalog that I have this product marked as virtual. Also I checked the SQL database to make sure 'virtual_product' was equal to 1.
Then, when going through the price calculation code for zen cart (in shopping_cart.php), I found this comment:
// appears to confuse products priced by attributes
This product IS priced by attribute, so I'm thinking the problem is related to that issue.
I was going to add the attributes price to the free_shipping_price. When I went to do so I found that this had already been done, but was commented out.
I removed the comment and it seems to work, but I'm a little worried as to why it was commented out.
Code:// $this->free_shipping_price += $qty * zen_add_tax( ($new_attributes_price), $products_tax);
It appears so. I briefly searched the forum and only found a few cases of people reporting the problem. There is this one older post that also has a work-around. It's not the most elegant solution but looks like it should work for the most part: http://www.zen-cart.com/forum/showthread.php?t=24320Quote:
Originally Posted by L. Duke
Hello,
I am trying to install this module this is what I have done so far:
A.
Added 2 Zones:
Country: Peru, Zones: Lima
Country: Peru, Zones: Provincia
B.
Created 2 Zones Definitions:
shp: Lima --> Country: Peru, Zone: Lima
shp: Provincia --> Country: Peru, Zone: Provincia
C.
MZMT configuration:
3 Geo Zones, 1 Table per GeoZone.
D.
Installed and set --> Shipping Modules: MultiGeoZone Multitable
Zone 1 = shp: Lima (Price - 5:10,20:0)
Zone 2 = shp: Provincia (Price 5:15,20:10)
Zone 3 = --none-- "Rest of the World" (Price 5:20,20:200,25:2000)
Now when I add something to the cart, the "Estimate Shipping Cost" work perfect, allowing me to select the country and when I select Peru, it allow me to choose Lima or Provincia. (If I have signed In, it won´t let me choose and have the same problem as below:).
The problem is when checking out.
When I fill the checkout form with City = Lima and Country = Peru, it will show me as if it were "Rest ofthe World", the system does not recognize it as Lima, Peru.
Ex. For a product that cost $30, it shows me $2000 for shipping even if I am sending it to Lima Peru.
If I change the following to:
B.
Created 2 Zones Definitions:
shp: Lima --> Country: Peru, Zone: Lima
shp: Provincia --> Country: Peru, Zone: All Zones
Then for the example above, a product that cost $30, it shows me $10. Even if I am sending it to Lima and not to Provincia.
It seems that Zencart does not recognize the city when cheking out and it only take the country information.
I know that it should be a solution.
I am using: ZenCart 1.2.7 (due to a Template from TMonster) and also tried with ZenCart 1.3 with same result.
Thanks,
Pepe
Has any one used this Great Mod with more than one languge?
I can not seem to get the 2nd language mzmt.php file that has been translated to be used. It resides in the 2nd language location includes/languages/2ndlang/modules/shipping
But it is not being used. the default file in english is being called. I tried placing the translated file in the english location to insure that I did not have a corrupt file and it displays in the 2nd language fine but being in the english folder this is also used for display in english.
Is there a solution to have this mod use the file in the 2nd language that I am missing?