New version submitted for price and international format changes.
Printable View
New version submitted for price and international format changes.
Thanks Mark, you are a star.
I thought this came in tomorrow, judging by the farce at the Post Office today it would have been better coming in on April Fool's day!
Hello,
I've updated this mod but now I'm getting the following error:
1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':aa43608fdf8a423584cc0ac9397f7045) AND po.products_options_name = "Minimum Deliv' at line 1
in:
[SELECT ifnull(max(pov.products_options_values_sort_order), 0) as postage_attribute FROM zen_products_options_values pov INNER JOIN zen_products_attributes pa ON pov.products_options_values_id = pa.options_values_id INNER JOIN zen_products_options po ON po.products_options_id = pa.options_id WHERE pa.products_id IN (1032:aa43608fdf8a423584cc0ac9397f7045) AND po.products_options_name = "Minimum Delivery Method:"]
Can anyone help please?
I just upgraded from 3.1.0 following the upgrade instructions but all I get when checking out or clicking "Estimate Shipping" is -
WARNING: An Error occurred, please refresh the page and try again.
[03-Apr-2014 12:51:25 Europe/London] PHP Fatal error: 1064:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':93665ce0472894a1b520fc80489dc238) AND po.products_options_name = "Minimum Deliv' at line 1 :: SELECT ifnull(max(pov.products_options_values_sort_order), 0) as postage_attribute FROM products_options_values pov INNER JOIN products_attributes pa ON pov.products_options_values_id = pa.options_values_id INNER JOIN products_options po ON po.products_options_id = pa.options_id WHERE pa.products_id IN (1606:93665ce0472894a1b520fc80489dc238) AND po.products_options_name = "Minimum Delivery Method:" in /var/www/vhosts/devus.com/httpdocs/zen15/includes/classes/db/mysql/query_factory.php on line 120
I note that the instructions say to upload BigRoyalMail_V3.2.1/images/* but there are no images in the zip file.
install3.2 sql file seems to contain a syntax error and therefore cannot be installed until it's corrected?
Just speculating here but the error mentions a product option called 'minimum deliv'
The README.htm for a fresh installation talks about setting the minimum delivery method via Catalog>Categories/Products> but having followed the UPGRADE.htm instructions I don't see anything about minimum delivery on the product options.
I've searched via developers toolkit for some of the code fragments in the error above and they only occur in /includes/modules/shipping/BigRoyalMail/quote.php so I tend to think the error is in this file.
clearly this latest update has not been thoroughly tested.
I tried to call Mark via his website but no answer so I left a message asking him to have a look here when he had time.
I compared the quote.php with previous versions and they are the same, so it may not be that.
Can't wait any longer so I am having our site restored from backup.
I have check the SQL on my system and it is fine. Just incase here is the script.
Code:--
-- Set up the Attributes for Big royal Mail delivery options.
--
-- Create or find the Delivery option
--
SELECT @options_id:=ifnull(max(products_options_id)+1,1) FROM products_options;
SELECT @options_id := ifnull(products_options_id, @options_id) FROM products_options WHERE products_options_name="Minimum Delivery Method:" ;
REPLACE INTO products_options (products_options_id, language_id, products_options_name, products_options_sort_order, products_options_type, products_options_length, products_options_comment, products_options_size, products_options_images_per_row, products_options_images_style, products_options_rows) VALUES
(@options_id, 1, 'Minimum Delivery Method:', 0, 5, 32, '', 32, 0, 0, 0);
SELECT @options_id := products_options_id FROM products_options WHERE products_options_name="Minimum Delivery Method:" ;
--
-- Set up the option values
--
-- Large Letter
--
SELECT @LargeLetter_id := ifnull(max(products_options_values_id)+1,1) FROM products_options_values;
SELECT @LargeLetter_id := ifnull(products_options_values_id, @LargeLetter_id) FROM products_options_values WHERE products_options_values_name="Large Letter" ;
REPLACE INTO products_options_values (products_options_values_id, language_id, products_options_values_name, products_options_values_sort_order) VALUES
(@LargeLetter_id, 1, 'Large Letter', 10);
SELECT @LargeLetter_id := products_options_values_id FROM products_options_values WHERE products_options_values_name="Large Letter" ;
--
-- Small Parcel
--
SELECT @SmallParcel_id := ifnull(max(products_options_values_id)+1,1) FROM products_options_values;
SELECT @SmallParcel_id := ifnull(products_options_values_id, @SmallParcel_id) FROM products_options_values WHERE products_options_values_name="Small Parcel" ;
REPLACE INTO products_options_values (products_options_values_id, language_id, products_options_values_name, products_options_values_sort_order) VALUES
(@SmallParcel_id, 1, 'Small Parcel', 20);
SELECT @SmallParcel_id := products_options_values_id FROM products_options_values WHERE products_options_values_name="Small Parcel" ;
--
-- Medium Parcel
--
SELECT @MediumParcel_id := ifnull(max(products_options_values_id)+1,1) FROM products_options_values;
SELECT @MediumParcel_id := ifnull(products_options_values_id, @MediumParcel_id) FROM products_options_values WHERE products_options_values_name="Medium Parcel" ;
REPLACE INTO products_options_values (products_options_values_id, language_id, products_options_values_name, products_options_values_sort_order) VALUES
(@MediumParcel_id, 1, 'Medium Parcel', 30);
SELECT @MediumParcel_id := products_options_values_id FROM products_options_values WHERE products_options_values_name="Medium Parcel" ;
--
-- Parcel Force
--
SELECT @ParcelForce_id := ifnull(max(products_options_values_id)+1,1) FROM products_options_values;
SELECT @ParcelForce_id := ifnull(products_options_values_id, @ParcelForce_id) FROM products_options_values WHERE products_options_values_name="Special Delivary or Parcel Force" ;
REPLACE INTO products_options_values (products_options_values_id, language_id, products_options_values_name, products_options_values_sort_order) VALUES
(@ParcelForce_id, 1, 'Special Delivary or Parcel Force', 40);
SELECT @ParcelForce_id := products_options_values_id FROM products_options_values WHERE products_options_values_name="Special Delivary or Parcel Force" ;
--
-- Link the option and option values.
--
SELECT @Pov2po_id := ifnull(max(products_options_values_to_products_options_id)+1,1) FROM products_options_values_to_products_options;
SELECT @Pov2po_id := ifnull(products_options_values_to_products_options_id, @Pov2po_id) FROM products_options_values_to_products_options
WHERE products_options_id= @options_id AND products_options_values_id = @LargeLetter_id;
REPLACE INTO products_options_values_to_products_options (products_options_values_to_products_options_id, products_options_id, products_options_values_id) VALUES
(@Pov2po_id, @options_id, @LargeLetter_id);
SELECT @Pov2po_id := ifnull(max(products_options_values_to_products_options_id)+1,1) FROM products_options_values_to_products_options;
SELECT @Pov2po_id := ifnull(products_options_values_to_products_options_id, @Pov2po_id) FROM products_options_values_to_products_options
WHERE products_options_id= @options_id AND products_options_values_id = @SmallParcel_id;
REPLACE INTO products_options_values_to_products_options (products_options_values_to_products_options_id, products_options_id, products_options_values_id) VALUES
(@Pov2po_id, @options_id, @SmallParcel_id);
SELECT @Pov2po_id := ifnull(max(products_options_values_to_products_options_id)+1,1) FROM products_options_values_to_products_options;
SELECT @Pov2po_id := ifnull(products_options_values_to_products_options_id, @Pov2po_id) FROM products_options_values_to_products_options
WHERE products_options_id= @options_id AND products_options_values_id = @MediumParcel_id;
REPLACE INTO products_options_values_to_products_options (products_options_values_to_products_options_id, products_options_id, products_options_values_id) VALUES
(@Pov2po_id, @options_id, @MediumParcel_id);
SELECT @Pov2po_id := ifnull(max(products_options_values_to_products_options_id)+1,1) FROM products_options_values_to_products_options;
SELECT @Pov2po_id := ifnull(products_options_values_to_products_options_id, @Pov2po_id) FROM products_options_values_to_products_options
WHERE products_options_id= @options_id AND products_options_values_id = @ParcelForce_id;
REPLACE INTO products_options_values_to_products_options (products_options_values_to_products_options_id, products_options_id, products_options_values_id) VALUES
(@Pov2po_id, @options_id, @ParcelForce_id);
--
-- Add the insurance rates for Special delivery if installed
--
INSERT ignore INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added)
SELECT 'Insurance rates ', 'MODULE_SHIPPING_RMSPECIALDELIVERY_ZONES_INSURE', '500:0,1000:1,2500:3', 'example: 200:1.2 means values less than or equal to £200 would cost £1.20. to insure. 100+:4.5 means that each additional £100 costs £4.50 to insure.', '6', '0', 'zen_cfg_textarea(', now()
FROM configuration WHERE configuration_key = "MODULE_SHIPPING_RMSPECIALDELIVERY_STATUS";
INSERT ignore INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added)
SELECT 'Insurance rates ', 'MODULE_SHIPPING_RMSPECIALDELIVERY9AM_ZONES_INSURE', '50:0,2.2:1000,5.7:2500', 'example: 200:1.2 means values less than or equal to £200 would cost £1.20. to insure. 100+:4.5 means that each additional £100 costs £4.50 to insure.', '6', '0', 'zen_cfg_textarea(', now()
FROM configuration WHERE configuration_key = "MODULE_SHIPPING_RMSPECIALDELIVERY9AM_STATUS";
--
-- Update max order value for special to 2500
--
UPDATE configuration SET configuration_value = 2500 WHERE configuration_key = "MODULE_SHIPPING_RMSPECIALDELIVERY_MAX_ORDERVALUE";
UPDATE configuration SET configuration_value = 2500 WHERE configuration_key = "MODULE_SHIPPING_RMSPECIALDELIVERY9AM_MAX_ORDERVALUE";
Please see http://www.zen-cart.com/showthread.p...64#post1227764 to see about the new method I introduced at version 3.1. I will look at putting in some code to produce a meaningful error.
Found a bug connected with attributes.
Change the quote.php module in
YOUR_SHOPPING_CART_DIRECTORY/includes/modules/shipping/BigRoyalMail/quote.php
As a temporary fix replacewithCode:$attribute_postage_select = 'SELECT ifnull(max(pov.products_options_values_sort_order), 0) as postage_attribute FROM '.TABLE_PRODUCTS_OPTIONS_VALUES.' pov INNER JOIN '.
TABLE_PRODUCTS_ATTRIBUTES.' pa ON pov.products_options_values_id = pa.options_values_id INNER JOIN '.
TABLE_PRODUCTS_OPTIONS.' po ON po.products_options_id = pa.options_id WHERE pa.products_id IN ('.$products_list.
') AND po.products_options_name = "Minimum Delivery Method:"';
This should work with 1.5 versions of Zen Cart I am not sure if it works with 1.3 versions but suspect it will.Code:$attribute_postage_select = 'SELECT 0';
I have found the issue. it was connected with attributes.
You need to change the quote.php which can be found in YOUR_SHOPPING_CART_DIRECTORY/includes/modules/shipping/BigRoyalMail
you need to replace line 57
withCode:$products_list = $_SESSION['cart']->get_product_id_list();
Code:$products_list = '';
if (is_array($_SESSION['cart']->contents)) {
reset($_SESSION['cart']->contents);
while (list($products_id, ) = each($_SESSION['cart']->contents)) {
$products_list .= ', ' . zen_get_prid(zen_db_input($products_id));
}
}
$products_list = substr($products_list, 2);
Hi Mark,
I just installed your latest update v3.2.1 in a test shop. (It seems to work fine in Zen Cart v1.3.9 by the way.)
Unfortunately, there seems to be one service missing in my installation, "International Signed" (which used to be International "signed for").
Royal Mail have really complicated things with this new shuffle, they seem to have made three overlapping services out of one!
Now we have "International Signed", "International Tracked & Signed" and "International Tracked". Strangely, all at the same price unless you send to Europe using the latter one (with no signature provided), when they add extra 20% vat.
Thanks for the contribution. You must have incredible patience.
Sorry, my mistake, I just found it. There was a line with no description, just "ver. 3.2.1" in red letters that I'd overlooked. Clicked on it and that was the one I'd been looking for.
That suggest that you may be missing a language file or the file is the corrupt. The file should be in YOUR_SHOPPING_CART_DIRECTORY/includes/languages/english/modules/shipping/ and is called rmamparcelsf.php.
And Yes you are right it is crazy. I also only had a weeks notice of the change because parcelforce did not release their rates until the Monday before the change. You are right with 3 methods with the same price. The International Tracked and Signed is supposed to be faster than the other two signed and tracked.
If you use attributes at all please ensure that you apply the fix above http://www.zen-cart.com/showthread.p...02#post1243102. I am just setting up a 1.3.8a to try to test it. Glad to here that it works on 1.3.9.
Finally if you have updated from 3.0.1 you will need to apply RemoveSpecial.sql to remove the extra special delivery method from the configuration files.
Hi Mark,
I checked that file and it's not really a problem, just that the text hasn't been fully filled in - obviously a "holding" dot. First line reads:
define('MODULE_SHIPPING_RMAMPARCELSF_TEXT_TITLE', '.');
Looks like the same for rmspecialdelivery file also.
Air mail signed for should beSpecialdeliveryCode:define('MODULE_SHIPPING_RMAMPARCELSF_TEXT_TITLE', 'Royal Mail <span style="color:red; font-weight:bold">International Signed </span><span style="font-weight: normal; font-style: italic">"Small Parcel"</span>');
Both appear OK in the package. Are you using the override system? If so that could be the reason for them being blank.Code:define('MODULE_SHIPPING_RMSPECIALDELIVERY_TEXT_TITLE', 'Royal Mail <b>special delivery®</b> <span style="font-weight:normal">next day</span>');
Hi Mark,
I think I must have overwritten those files by mistake. As you say, the originals are OK in the package. I restored them and all is working fine now. Sorry for the distraction and for wasting your time.
Have found the issue it is with version 1.3.8 of zen cart which expects "SELECT (" for select statements. I have included a new version for the script in the latest release 3.2.1a which has been submitted for moderation.
Having Discoverd that you are using 1.3.8 version of zen cart you can see from the release that I did not test against this version. I have now tested this version and submitted an update.
Hello Mark,
This is a great module. I just wondered, for minimum delivery method, is there a way I can create them for large letter recorded and medium parcel recorded?
Thanks,
James
Hi James,
Hopfully I am understanding and answering your question.
The recorded modules are called signed for in the system (modules ending SF). At the moment signed for is used if the value of the package exceeds the value of the ordinary method e.g. not signed for. The minimum postage method is not dependent on the value. Therefore if you decide that the minimum method is large letter for an item this will also apply to the signed for (recorded) delivery. If you want to send all your items signed for then just turn off the ordinary method. There is a table in http://www.zen-cart.com/showthread.p...64#post1227764 that shows the modules that are turned off by the different attributes. Hopefully that all makes sense. I suggest that you set up a test system and try out the different attributes to see how it works. Let me know if you need anything else.
Hello Mark,
Thanks for your reply. I understand better now, sorry about that. The grid has helped me further also. I will do a bit of testing and figure it out ha.
Regards,
James :-)
Hi
I'm using ZC 1.3.9h and have updated to the latest Big Royal Mail.
I was hoping that this would sort my issue of the incorrect tracking URL being used (http://www.royalmail.com/track-trace...mber=xxxxxxxxx) but it hasn't.
Is there any way I can mod the correct file to update the tracking URL?
Cheers
Chris
Hi Westoner. The track and trace is not part of my code. I suggest that you look for in in admin>tools>Developers Tool Kit.
The correct link should be https://www.royalmail.com/track-your...mber=xxxxxxxxx
Regards
Mark
Is there any chance of getting Royal Mail Special Delivery with Saturday Guarantee added to the plug-in?? A lot of my customers are asking for this!
Ok I have added a new version of this module in release 3.2.2 it is just going through validation at the plugins site.
There are two Extra fields: "Friday Cutoff" and "Display for ? days before" these are used to decide when to display the option of Saturday delivery.
The Firday Cutoff: is the time after which you will no longer fulfil an order on the friday. it defaults to 12:00 (midday). so If the order is recieved after 12:00 on Friday Saturday delivery will not be enabled.
Display for ? days before: is the number of days before the cutoff you want to display the option of saturday delivery. for example if you set it to 1 then the option for saturday delivery will be available for all orders after 12:00 on thursday and before 12:00 on friday. If you set it to 7 it is always displayed.
Hope that makes sense.
Mark
Hello Mark
Will you be doing an update to incorporate the Jan 19th 2015 price increases?
Thanks in advance - great product.
The price change you refer to I assume is the change for Xmas to allow small parcel to be used instead of medium parcel. As I did not change the rates for the Xmas change the current rates are valid. The next change I know about is expected 30 March. I will do my best to get it there in time. I am dependent on the post office letting me have the details. I usually only get about a weeks notice of the new rates.
Hello again Mark
You could be right - I was handed a leaflet from the post mistress and was told of "new prices" - the leaflet states "valid from 19th Jan 2015" so perhaps she though the prices were going up then and not back to the pre-christmas promotional prices.
That'll teach me to listen to her lol
I'm not sure if this is the right thread to post this issue, but I couldn't find any other one closer to what my problem is... So bear with me please.
The thing is that in the last couple of days I realized that I have a problem in my site that doesn't seem to affect the proper function of it but generates an awful lot error files in the cache folder. It produces these error files from the cart contents page, shipping estimator, checkout, login. This is one of the main errors:
And this is another one: (I supposed this definitively should be posted somewhere else, but if there is someone here who may know it I appreciate the help)PHP Code:
[12-Feb-2015 03:11:32 America/Chicago] PHP Warning: Creating default object from empty value in /home2/argos33/public_html/includes/functions/extra_functions/init_parcelforce_GPL.php on line 111
What puzzles me is this America/Chicago thing and the home2, I don't understand... Well, If there is somebody who can help me I would be really grateful.PHP Code:
[12-Feb-2015 03:12:15 America/Chicago] PHP Warning: Creating default object from empty value in /home2/argos33/public_html/includes/modules/shipping_estimator.php on line 107
Hello Mark, thanks for your reply. Yes I have Big Royal Mail v3.2.2. I just recently updated it from version 3.0... The file causing issues comes from the times of Philip Clarke, but I don't think up until recently gave this error. So, as you said BRM have no extra functions I just deleted the file and then, when checking again, I found that the file giving errors was this one:
includes/functions/extra_functions/init_royalmail.php, I deleted it too.
Then, doing the checking on the website, I found that the checkout page was completely blank, giving this error:
I reinstalled the two files again and the checkout is working, but the errors are still there. As I said, these errors don't affect the normal functioning of the website, but accumulate a big amount of errors in the cache folder. I wonder if by deleting just the line that is creating problems, that would be enough. I mean in the case of init_royalmail.php on line 23, just deleting the line 23 which is:PHP Code:
PHP Fatal error: Class 'ParcelForceWW' not found in /home2/xxxxx/public_html/includes/modules/shipping/ukzr.php on line 11
And in the case of Parcel Force by deleting the line 111:PHP Code:
$ms->add( 'The Royal Mail International modules only ship with example data for the shipping rates, <a href="'.zen_href_link('sqlupdates_licence.php').'">click here for details</a> on
I appreciate if you can throw some light on this. Thanks again.PHP Code:
$ms->add( 'The ParcelForce WorldWide modules only ship with example data for the shipping rates, <a href="'.zen_href_link('sqlupdates_licence.php').'">click here for details</a> on obtaining the updates.', 'error');} $ms->pfrm=true; ///* }
Hi Budy,
It looks like you have installed "UK ParcelForce Shipping" I suggest that you remove all the modules that are related to this and run the SQL uninstall.
I would also replace the shipping estimator with the default one supplied by zen cart "tpl_modules_shipping_estimator.php". You may have replaced this with the optional one from Phil's module. I completely recreated the ParcelForce modules in big royal mail and did not look at his old code.
Alternatively back up your database. Run the SQL uninstall. Then do a complete reinstall of zencart (removing existing files first "Remember to keep you config files") then install only the plugins you want.
If you have a test system try on the test system to see what you need to do.
Sorry I don't know phil's code for parcelforce.
Mark
Thank you for your replay, Mark.
I have here a screenshot of the modules I have in the adminAttachment 15002
What I sould remove is all ver3.03 modules? and for the SQL uninstall where I can find it, I don't think I have anything from the times of P. Clarke.
Maybe is about time to update to Zen Cart 1.5.4 and to start afresh. The problem is that I may do it in about two months time. Do you reckon this is an issue that can wait or it would be better to sort it out as soon as possible.
I really appreciate your help and your patience.
The issue is with all the modules that start Parcelforce... these are not part of big royal mail. I think these are old Philip Clark modules. It is not big royal mail that needs to be removed but all of the other parcelforce modules.
You need to find the download that installed these modules and it should have instructions on hoe to get rid of them.
If not then I think your idea of upgrading the the latest zencart is a good one.
Mark
Hi Mark,
This is a great module, I have been using it for a few months and find it great that it handles the different product sizes for UK items, never had this level of control before and is really useful.
Now that Royal Mail are using the same sizes guidelines for international items as they do for mail travelling within the UK is there any chance of getting a large letter options added for international items of mail, I believe that it only affects standard airmail items as opting for tracked/signed for options the price is the same as tracked small parcels.
Also if an item has a minimum size associated with it of large letter then both large letter and small parcel rates are shown, I think this might be confusing to some customers, it would nice if there was an option to have it so that if the item would go as a large letter that only that rate is shown and not both as the customer is likely to select the cheaper option anyway.
~R
I'll Look at it. To see what's involved. The new rates should not be too much of an issue. Not sure about limiting to the lowest available. Give me a couple of weeks to look at it.
Hi Mark,
Thanks that would be great!
~R
Hi, I'm using Basic Royall Mail add-on but it appears to have lost support. Can I simply install Big RM to run along side but disable the my other add-on once set-up?
This should not be an issue as long as none of the module names overlap with big royal mail. There will be a lot of modules in your shipping methods. I am currently updating Big royal mail to include Airmail letter and Large letter. So I don't know if you want to wait a few weeks while I finish my testing.
Thanks for the reply Mark, Do we have any form of delivering to the US and abroad at present?
Yes there sre currently Royal mail Airmail small parcel and surface mail, and parcel force world wide global. I am currently adding Airmail letter and large letter. Also the Parcel force rates need to be updated as they have recently changed.
Hello britainmark and to anyone else who maybe able to help.
I seem to have an issue with this plugin and not sure what else to check.
Basically I have a clean build of zc 1.5.4, I've installed your plugin as per your documentation, made changes to the site weight to change from lbs to Kg and configured the built in paypal express api settings.
I've enabled and configured two royal mail postage options, one for local and other international. I've added the weight to the products.
The problem I have is when I add item to shopping cart, it displays the correct estimated shipping at the bottom, I then click the paypal express quick checkout button which takes me to the paypal page with the item but the shipping cost isn't added to the item total, I even proceed to login to paypal and it still doesn't charge for shipping.
Here are my settings for Big Royal Mail.
Royal Mail special delivery® next day ver. 3.2.3
Royal Mail Rates Expiry Date
The Date the current Royal Mail postage rates expire.
Format YYYY-MM-DD HH:MM:SS
e.g. 2012-04-02 00:00:01 or 2012-04-02
It is not necessary to put in the time.
Set this to remind you to update the shipping costs.
Enable this shipping option
If you need to adjust your shipping rates, you can use this option to disable it in your shop, instead of re-installing
True
False
Hide Invalid Shipping
Hide this shipping service if it is not valid (either due to exceeding the maximum weight or the min & max order values).
True
False
Tax Class
Use the following tax class on the shipping fee.
--none-- Taxable Goods VAT VAT Exempt
Sort Order
Sort order of display.
Minimum Order Value
Minimum order value in £ GBP for this shipping option.
Set to 0 for no minimum order value.
Maximum Order Value
Maximum order value in £ GBP for this shipping option.
Set to -1 if there is no Maximum
Insurance rates
example: 200:1.2 means values less than or equal to £200 would cost £1.20. to insure. 100+:4.5 means that each additional £100 costs £4.50 to insure.
500:0,1000:1,2500:3
Handling Fee
The amount it costs you to package the items and get to the post office to get the items into specialdelivery®.
Shipping rates to GB & Northern Ireland
Example: 0.1:1.14 means weights less than or equal to 0.1 Kg would cost £1.14.
0.1:6.4, 0.5:7.15, 1:8.45, 2:11, 10:26.6, 20:41.2
If you have any ideas, would greatly appreciate it?
Many thanks to you and all.
Here's my paypal express settings too for reference.
Enable this Payment Module
True
Sort order of display.
0
Payment Zone
--none--
Express Checkout Shortcut Button
On
Set Order Status
Processing [2]
Set Unpaid Order Status
Pending [1]
Set Refund Order Status
Pending [1]
Express Checkout: Require Confirmed Address
No
Express Checkout: Select Cheapest Shipping Automatically
Yes
Express Checkout: Skip Payment Page
No
Express Checkout: Automatic Account Creation
Yes
Payment Action
Final Sale
Transaction Currency
Only GBP
Store Brand Name at PayPal
IBW
Allow eCheck?
Any
PayPal Page Style
Primary
API Signature -- Username
us_api1.****.com
API Signature -- Password
****************
API Signature -- Signature Code
****************
PayPal Mode
PayPal
Live or Sandbox
live
Debug Mode
Alerts Only
I cannot see your settings for next day special delivery. Here are mine.
For Paypal I use express chackout and these are the settings. I have obscured the ones that are sensitive.Code:Royal Mail special delivery® next day Rates. Weights in Kgs. Rates valid until 2016-03-27
Big Royal Mail Expiry Date
2016-03-27
Enable this shipping option
True
Hide Invalid Shipping
True
Tax Class
--none--
Sort Order
170
Minimum Order Value
10.00
Maximum Order Value
2500.00
Insurance rates
500:0,1000:1,2500:3
Handling Fee
1.00
Shipping rates to GB & Northern Ireland
0.1:6.45, 0.5:7.25, 1:8.55, 2:11, 10:26.6, 20:41.2
Hope this helpsCode:Enable this Payment Module
True
Sort order of display.
20
Payment Zone
--none--
Express Checkout Shortcut Button
On
Set Order Status
Processing [2]
Set Unpaid Order Status
Pending [1]
Set Refund Order Status
Pending [1]
Express Checkout: Require Confirmed Address
No
Express Checkout: Select Cheapest Shipping Automatically
No
Express Checkout: Skip Payment Page
No
Express Checkout: Automatic Account Creation
No
Payment Action
Final Sale
Transaction Currency
Only GBP
Store (Brand) Name at PayPal
Allow eCheck?
Any
PayPal Page Style
Primary
API Signature -- Username
*****************
API Signature -- Password
****************
API Signature -- Signature Code
****************
PayPal Mode
PayPal
Live or Sandbox
live
Debug Mode
Off
[QUOTE=brittainmark;1283879]I cannot see your settings for next day special delivery. Here are mine.
Hello Brittainmark, thanks very much for the settings comparison and the brilliant plugin, complete lifesaver!, here's my config below although I think I've found out what the issue is and might be useful for you guys as reference to some template issues, of course if that is even the case.
I'm using one of picaflor-azul responsive templates from here which is brilliant but I think there's an issue with the shopping cart icon not redirecting to SSL as my site is fully SSL enabled. This seems to cause an issue with your plugin not sending the postage estimate onto paypal express.
I've detailed the issue here just incase anyone else comes across this issue. It's post #94 at bottom of page, anyway thank you very much for your input on this, cheers!
https://www.zen-cart.com/showthread....ue-v2-0/page10
Royal Mail special delivery® next day ver. 3.2.3
Royal Mail Rates Expiry Date
The Date the current Royal Mail postage rates expire.
Format YYYY-MM-DD HH:MM:SS
e.g. 2012-04-02 00:00:01 or 2012-04-02
It is not necessary to put in the time.
Set this to remind you to update the shipping costs.
Enable this shipping option
If you need to adjust your shipping rates, you can use this option to disable it in your shop, instead of re-installing
True
False
Hide Invalid Shipping
Hide this shipping service if it is not valid (either due to exceeding the maximum weight or the min & max order values).
True
False
Tax Class
Use the following tax class on the shipping fee.
--none-- Taxable Goods VAT VAT Exempt
Sort Order
Sort order of display.
Minimum Order Value
Minimum order value in £ GBP for this shipping option.
Set to 0 for no minimum order value.
Maximum Order Value
Maximum order value in £ GBP for this shipping option.
Set to -1 if there is no Maximum
Insurance rates
example: 200:1.2 means values less than or equal to £200 would cost £1.20. to insure. 100+:4.5 means that each additional £100 costs £4.50 to insure.
500:0,1000:1,2500:3
Handling Fee
The amount it costs you to package the items and get to the post office to get the items into specialdelivery®.
Shipping rates to GB & Northern Ireland
Example: 0.1:1.14 means weights less than or equal to 0.1 Kg would cost £1.14.
0.1:6.4, 0.5:7.15, 1:8.45, 2:11, 10:26.6, 20:41.2
Still cannot see your configuration. you need to select it from the web browser before you click edit. It appears that you have not set expires date, minimum or maximum values. However I do not think the issue is here.
Check out your configuration file. Found in YOURSITE/includes/configure.php
I think you need to change the ENABLE_SSL to 'true'Code:define('HTTPS_SERVER', 'https://your.server.here');
// Use secure webserver for checkout procedure?
define('ENABLE_SSL', 'false');
This is not definite juts a hunch.Code:define('HTTPS_SERVER', 'https://your.server.here');
// Use secure webserver for checkout procedure?
define('ENABLE_SSL', 'true');
Those settings you mention are correct, I built ZC clean from 1.5.4. Just double checked against this official doc for SSL enabling your site and all appears correct. http://www.zen-cart.com/content.php?...sl-in-zen-cart
Just pulling my hair out :) It's a bit of a weird one, it seems when you add item to cart and do a quick checkout with paypal express without login as a guest, it show's the correct estimate shipping added to the total, then hit checkout which passes over to the paypal page which has the total but no postage and packaging.
If you're logged in and checkout, it works fine. I think I'll try build another test site and go through the whole process but without the Sheffield Blue Responsive template installed, just using default classic template so at least I can rule out a possible custom template issue.
Just wonder if you've used that type of configuration on 1.5.4 with paypal express, checkout as guest without login to see if it passes on P&P?
Any way, I'll keep you and others informed, hopefully something really silly my end.
Cheers and thanks for your help.
Hello Mark, thanks for the new update for BRM 3.3.0. I've just tried to cleanly reinstall BRM on ZC 1.5.4, copied over the *.images, *.includes to root of store overwriting the existing files. Logged in admin and enabled and configured two shipping methods. Ran RemoveAll.sql to completely cleanup any old data.
Followed your instruction docs and ran Install3.2.sql to import records, which went fine then tried to import your new 2015Update.sql which wont work, tried copy/paste and import methods into SQL Query Editor. It just throws me out of the site to a blank screen. Basically http 500 internal error, all other SQL scripts work fine except the new 2015Update.sql.
Looks happy under shipping, say's v3.3.0
Royal Mail International Tracked "Small Parcel" ver. 3.3.0 rmamtparcel Info
Royal Mail International Tracked & Signed "Large Letter" ver. 3.3.0 rmamtslargeletter Info
Royal Mail International Tracked & Signed "Letter" ver. 3.3.0 rmamtsletter Info
Royal Mail International Tracked & Signed "Small Parcel" ver. 3.3.0 rmamtsparcel 370 Info
Royal Mail Parcel Force "express 10" ver. 3.3.0 rmpfexpress10 Info
Royal Mail Parcel Force "express 24" ver. 3.3.0 rmpfexpress24 Info
Royal Mail Parcel Force "express 48" ver. 3.3.0 rmpfexpress48 Info
Royal Mail Parcel Force "express 9" ver. 3.3.0 rmpfexpress9 Info
Royal Mail Parcel Force "express AM" ver. 3.3.0 rmpfexpressam Info
Royal Mail Parcel Force "Global Economy" ver. 3.3.0 rmpfgeconomy Info
Royal Mail Parcel Force "Global Express" ver. 3.3.0 rmpfgexpress Info
Royal Mail Parcel Force "Global Priority" ver. 3.3.0 rmpfgpriority Info
Royal Mail Parcel Force "Global Value" ver. 3.3.0 rmpfgvalue Info
Royal Mail Parcel Force "Ireland Express" ver. 3.3.0 rmpfiexpress Info
Royal Mail International Economy "Small Parcel" ver. 3.3.0 rmsmparcel Info
Royal Mail special delivery® next day ver. 3.3.0 rmspecialdelivery 170 Info
Royal Mail specialdelivery® 9:00am ver. 3.3.0 rmspecialdelivery9am Info
Royal Mail special delivery® next day Saturday ver. 3.3.0 rmspecialdeliverysat Info
Royal Mail specialdelivery Saturday® 9:00am ver. 3.3.0 rmspecialdeliverysat9am Info
Store Pickup storepickup Info
Table Rate table Info
Zone Rates zones
Sorry Finger trouble put the wrong version of the SQL file in the zip.Quote:
Followed your instruction docs and ran Install3.2.sql to import records, which went fine then tried to import your new 2015Update.sql which wont work, tried copy/paste and import methods into SQL Query Editor. It just throws me out of the site to a blank screen. Basically http 500 internal error, all other SQL scripts work fine except the new 2015Update.sql.
The error is on line 317 it reads
it should readCode:Europe Airmail Letter */
I'll correct the zip file and repost.Code:/* Europe Airmail Letter */
Thanks Mark, that's brilliant! Imported and working fine now. Also thanks for the PM too, have tested the process flow from paypal express checkout back to ZC store and it's applying the postage perfectly afterwards.
I've reposted the helpful link you've found below for any future reference.
Just a helpful reminder note for anyone else as quoted by DrByte on Paypal express checkout - shipping/paypal payment process flow in case you're blindsided like me and concerned it wasn't working :)
In Zen Cart 1.3.x, a customer clicking the EC shortcut button on the shopping cart page will go to PayPal's site to select a funding choice AND THEN return to YOUR store where all the shipping and tax information is properly calculated using all the available address information.
If they use the normal checkout flow and choose PayPal on the checkout-payment page, then all the required address/tax information is already provided and thus when the customer is directed to PayPal for funding choices all that information is presented on the PayPal screen at that time.
https://www.zen-cart.com/showthread....al-login/page2
Thanks again Mark, cheers!
Hi Mark,
Great module sir! I have installed it successfully.
However my shipping is not being calculated correctly. Can you help?
My items in my store are listed as grams in weight not lbs.
Can your module Big Royal Mail work with this?
If so please can you tell me how, what I need to change?
Also can you explain to me how to set the -
Shipping rates to GB & Northern Ireland
Example: 0.1:1.14 means weights less than or equal to 0.1 Kg would cost £1.14.
My items weigh eg. 127grams 1200grams and so on.
Thanks
Tony
P.S. In laymans terms please.
Hi Phill, Yes the module works in KG not Lbs so you will need to change the Shipping rates to GB & Northern Ireland to grams from kilograms this means multiplying the weight by 1000. The weight is the figure before the colon ":". Each set of weight and price is separated by a comma ",". There for for Royal Mail 1st Class "Medium Parcel" the new rates line will be
This translates as for 0 to 1000g charge £5.65Code:1000:5.65, 2000:8.9, 5000:15.85, 10000:21.9, 20000:33.4
for 1001g to 2000g charge £8.90
for 2001g to 5000g charge £15.85
for 5001g to 10000g charge £21.90
for 10001g to 20000g charge £33.40
Hope that helps
Hi
I have BRM 3.3.0 installed on zen cart 1.5.4. I've installed
Royal Mail 1st Class "Small Parcel" ver. 3.3.0
Royal Mail International Standard "Small Parcel" ver. 3.3.0
Royal Mail International Tracked EU "Small Parcel" ver. 3.3.0
Royal Mail International Tracked "Small Parcel" ver. 3.3.0
Royal Mail International Tracked & Signed "Small Parcel" ver. 3.3.0
Next I ran Install3.2.sql. I am not using attributes for shipping. I also changed the language files from lbs to Kg.
Should I also run the files: UpdateFrom3.2.sql, 2015Update.sql ?
This is the first time I've set up shipping with this module and I'm having a problem getting this to work for me. Testing shipping to US this is what I get. There are no rates provided and as you can see there are duplicates.
Royal Mail 1st Class "Small Parcel" (GB & Northern Ireland only for this service)
Royal Mail International Standard "Small Parcel" (The shipping rate cannot be determined at this time)
Royal Mail International Standard "Small Parcel" (The shipping rate cannot be determined at this time)
Royal Mail International Tracked "Small Parcel" (The shipping rate cannot be determined at this time)
Royal Mail International Tracked "Small Parcel" (The shipping rate cannot be determined at this time)
Royal Mail International Tracked EU "Small Parcel" (Not available for this destination.)
Royal Mail International Tracked & Signed "Small Parcel" (The shipping rate cannot be determined at this time)
Royal Mail International Tracked & Signed "Small Parcel" (The shipping rate cannot be determined at this time)
Also can you tell me please if there are zones that should be installed? I did install uk counties.sql from the plugin section but now wondering if that was the thing to do.
thanks for any help on this.
EDIT:
as sometimes happens, the minute I post, I get an idea. The other day I read about setting tare to 0:0 and now I am getting rates to display. Is there a way to get this to work and also be able to set a tare weight?
Still wondering about the zones too
1) Please check if your products have shipping weights. These are required and are used to determine the rate to use.
2) Check you only have one of each module in admin>Modules>Shipping. There should be only one line for each title. (36 lines in total)
3) Check one of the modules you have installed (one with a green dot). You should see entries like thisCode:Royal Mail 1st Class Signed For "Letter" ver. 3.2.2
Royal Mail 1st Class Signed For "Large Letter" ver. 3.2.2
.....
Royal Mail specialdelivery Saturday® 9:00am ver. 3.2.2
There are some other values before these. The Pairs of letters are the two letter country code. The values separated by colons "0.1:4.45" are the maximum weight and the cost of using that service. This one is 0.1Kg costing £4.45.Code:Royal Mail defined European Countries
AD, AT, BE, DK, FI, FR, DE, GI, IS, IE, IT, LI, LU, MC, NL, NO, PT, ES, SE, CH, CY
European rates from GB & Northern Ireland
0.1:3.45, 0.25:3.95, 0.5:5.5, 0.75:6.85, 1:8.26, 1.25:9.61, 1.5:10.96, 1.75:12.31, 2:13.46
European Handling Fee
2.00
Royal Mail defined "Rest of World" Zone 1 Countries
CA, HK, US, ZA
"Rest of World" Zone 1 rates from GB & Northern Ireland
0.1:4.1, 0.25:5, 0.5:7.7, 0.75:10.3, 1:12.95, 1.25:14.65, 1.5:16.35, 1.75:18.05, 2:19.75
"Rest of World" Zone 1 Handling Fee
2.00
Royal Mail defined "Rest of World" Zone 2 Countries
AU, SG, NZ
"Rest of World" Zone 2 rates from GB & Northern Ireland
0.1:4.45, 0.25:5.45, 0.5:8.45, 0.75:11.15, 1:13.9, 1.25:15.8, 1.5:17.7, 1.75:19.6, 2:21.5
"Rest of World" Zone 2 Handling Fee
2.00
4) If these are all set then it could be that the weight of your parcel is grater that the maximum weight allowable by the methods mentioned.
if you have no joy with this let me know where your site is and I'll see if I can see what is going on.
I still need to get back to this. Thanks for posting brittainmark.
Just upgraded to the latest version, running 1.5.5 zencart. I noticed as I have Attributes for shipping set, that the field 'Attribute Exact Match' is not present. It is present in Royal Mail air mail Large Letter though. So I tried to intsall / remove the modules, but I get a warning error message. I can find logs similar to below:-
I am able to install some of the airmail modules and see the setting, but installing or removing the uk modules yields an error and not able to install or remove accordingly. I followed the instructions and processed the upgrade sql as mentioned. Thanks in advance for any help on this.Quote:
PHP Fatal error: 1064:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''MODULE_SHIPPING_RM1STLETTER_ZONES' at line 1 :: DELETE FROM zen_configuration WHERE configuration_key IN ('MODULE_SHIPPING_RM_EXPIRES', 'MODULE_SHIPPING_RM1STLETTER_STATUS', 'MODULE_SHIPPING_RM1STLETTER_HIDE_SHIPPING_ERRORS', 'MODULE_SHIPPING_RM1STLETTER_ATTRIBUTE_MATCH', 'MODULE_SHIPPING_RM1STLETTER_TAX_CLASS', 'MODULE_SHIPPING_RM1STLETTER_SORT_ORDER', 'MODULE_SHIPPING_RM1STLETTER_MIN_ORDERVALUE', 'MODULE_SHIPPING_RM1STLETTER_MAX_ORDERVALUE', 'MODULE_SHIPPING_RM1STLETTER_ZONES_HANDLING_1', 'MODULE_SHIPPING_RM1STLETTER_ZONES_COST0_1') AND configuration_key NOT IN ('MODULE_SHIPPING_RM_EXPIRES', 'MODULE_SHIPPING_RM1STLETTER_MIN_ORDERVALUE', 'MODULE_SHIPPING_RM1STLETTER_MAX_ORDERVALUE') AND configuration_key NOT LIKE 'MODULE_SHIPPING_RM1STLETTER_ZONES ==> (as called by) /home/gemtree/public_html/includes/modules/shipping/rm1stletter.php on line 91 <== in /****e/public_html/includes/classes/db/mysql/query_factory.php on line 167
Hi Found the issue. There is a % missing in the remove module.should be %%\'',PHP Code:
function remove() {
global $db;
$module = strtoupper($this->code);
$db->Execute(sprintf('DELETE FROM %s WHERE configuration_key IN (\'%s\') AND configuration_key NOT IN (\'MODULE_SHIPPING_RM_EXPIRES\', \'MODULE_SHIPPING_%3$s_MIN_ORDERVALUE\', \'MODULE_SHIPPING_%3$s_MAX_ORDERVALUE\') AND configuration_key NOT LIKE \'MODULE_SHIPPING_%3$s_ZONES%\'',TABLE_CONFIGURATION,implode('\', \'', $this->keys()),$module));
}
I'll check all the modules and correct. If you "Private message" (pm) me I'll get you a new versions tomorrow. I'll post the updated versions to the site at the same time. (So if you can wait for them to be updated no need for the PM).PHP Code:
function remove() {
global $db;
$module = strtoupper($this->code);
$db->Execute(sprintf('DELETE FROM %s WHERE configuration_key IN (\'%s\') AND configuration_key NOT IN (\'MODULE_SHIPPING_RM_EXPIRES\', \'MODULE_SHIPPING_%3$s_MIN_ORDERVALUE\', \'MODULE_SHIPPING_%3$s_MAX_ORDERVALUE\') AND configuration_key NOT LIKE \'MODULE_SHIPPING_%3$s_ZONES%%\'',TABLE_CONFIGURATION,implode('\', \'', $this->keys()),$module));
}
What version were you updating from as I'll need to check the instructions and amend as appropriate.
Additional The following SQL will add in the missing keys but does not solve the remove problem.
Please ensure you have backed up your database before running
Run in admin>tools>install SQL patches.
Important ensure that the SELECT is at the beginning of a line.Code:INSERT ignore INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added)
SELECT 'Attribute Exact Match', REPLACE(configuration_key,'STATUS','ATTRIBUTE_MATCH'),'False','Used to only display this shipping method if the attribute shipping is and exact match', '6', '0', 'zen_cfg_select_option(array(\'True\', \'False\'),', now() FROM configuration WHERE configuration_key like 'MODULE_SHIPPING_RM%_STATUS';
I'll add this in to the update as a new script.
Hi not sure if this is the right place, but hoping to get some pointers here.
I need to set up UK & international shipping. I've installed this plugin and had a little play around with it. I see the plugin is set for UK & NI rates. I need to be able to set my rates on country zones. For example:
Parcel Force 24
AB, AL, B, BA, BB, BD, BH, BL, BN, BR, BS, CA, CB, CF, CH, CM, CO, CR, CT, CV, CW, DA, DD, DE, DG, DH, DL, DN, DT, DY, E, EC, EH, EN, EX, FK, FY, G, GL, GU, HA, HD, HG, HP, HR, HU, HX, IG, IP, KT, KY, L, LA, LD, LE, LL, LN, LS, LU, M, ME, MK, ML, N, NE, NG, NN, NP, NR, NW, OL, OX, PE, PL, PO, PR, RG, RH, RM, S, SA, SE, SG, SK, SL, SM, SN, SO, SP, SR, SS, ST, SW, SY, TA, TD, TF, TN, TQ, TS, TW, UB, W, WA, WC, WD, WF, WN, WR, WS, WV, YO
0 to 25000g(s)£8.00
HS, IV, KA, KW, PA, PH, ZE
0 to 25000g(s)£16.50
TR, IM, BT
0 to 25000g(s)£18.50
PO30-41
0 to 25000g(s)£11.50
How can I do this in the Big Royal Mail plugin...is it possible?
thanks
Hi not sure if this is the right place, but hoping to get some pointers here.
I need to set up UK & international shipping. I've installed this plugin and had a little play around with it. I see the plugin is set for UK & NI rates. I need to be able to set my rates on county zones. For example:
Parcel Force 24
AB, AL, B, BA, BB, BD, BH, BL, BN, BR, BS, CA, CB, CF, CH, CM, CO, CR, CT, CV, CW, DA, DD, DE, DG, DH, DL, DN, DT, DY, E, EC, EH, EN, EX, FK, FY, G, GL, GU, HA, HD, HG, HP, HR, HU, HX, IG, IP, KT, KY, L, LA, LD, LE, LL, LN, LS, LU, M, ME, MK, ML, N, NE, NG, NN, NP, NR, NW, OL, OX, PE, PL, PO, PR, RG, RH, RM, S, SA, SE, SG, SK, SL, SM, SN, SO, SP, SR, SS, ST, SW, SY, TA, TD, TF, TN, TQ, TS, TW, UB, W, WA, WC, WD, WF, WN, WR, WS, WV, YO
0 to 25000g(s)£8.00
HS, IV, KA, KW, PA, PH, ZE
0 to 25000g(s)£16.50
TR, IM, BT
0 to 25000g(s)£18.50
PO30-41
0 to 25000g(s)£11.50
How can I do this in the Big Royal Mail plugin...is it possible?
thanks
Not sure I have understood you but to deliver Via parcel force the methods I have set up are via Parcel force Global (Value, Economy, Express and Priority) with the rates for taking the parcel to the post office for despatch. Parcel force has 12 zones for delivery around the world. when you install a module it will be set up with the available zones with the countries for that zone and the delivery costs.
Parcel force 24 is for uk delivery only. You need separate modules for the international deliveries. This is the same if you want to use royal mail international delivery Which is divided into 3 zones.
Hope that helps.
Hi thanks for reply. I mean that I need to be able to create different rates for the same service depending on which county it will post to. So from above info, county postcodes beining with AB will get an 8.00 rate, but TR would get a rate of 18.50..
so the shipping costs depend on the district code as shown in below link
https://en.wikipedia.org/wiki/List_o...United_Kingdom
is it possible to set up multiple zones for the same service with county/district (AB, AL, B, BA, BB, BD, BH, BL, BN, BR, BS, CA, CB,) etc codes?
Thanks
Sorry Understand (dyslexia got the better of me). Sorry to say I have not coded it that way so no it is not possible to used Big royal mail in that way. My modules have been written with you taking the package down to the post office for despatch. The post office do not differentiate by county for delivery.
Just found this it may work for what you need UK Shipping by Postcode.
I have installed Big Royal Mail and all is going well at this stage. But, within my business I have extra long items appx' 3 meters in length. What I need to do is have the ability to fix a price on certain categories that have these types of product. Has anyone had this problem before and if so how did you work round it?
These products fall within length price structure and not weight, so a single price would cover them all. As a business I could then use a different carrier if so required.
Any thoughts?
You could clone one of the modules (say royal mail first class letter) give it a new name.
Copy <YourCatalog>/includes/modules/shipping/rm1stletter.php to <YourCatalog>/includes/modules/shipping/rmlongitem.php make changes below.
add a new type to the attributes for these itemsPHP Code:
class rmlongitem {
var $code, $title, $description, $enabled, $num_zones ;
// class constructor
function rmlongitem () {
global $order, $total_weight;
$this->version = '3.3.2';
$this->code = 'rmlongitem ';
Add the new attribute to the system (sql).PHP Code:
function quote($method = '') {
global $order, $shipping_weight, $shipping_num_boxes, $currency, $db;
$postage_check = array(100);
copy the language file <YourCatalog>/includes/languages/english/modules/shipping/rm1stletter.php to <YourCatalog>/includes/languages/english/modules/shipping/rmlongitem.phpCode:SELECT @LongItem_id := ifnull(max(products_options_values_id)+1,1) FROM products_options_values;
SELECT @LongItem_id := ifnull(products_options_values_id, @LongItem_id) FROM products_options_values WHERE products_options_values_name="Long Item" ;
REPLACE INTO products_options_values (products_options_values_id, language_id, products_options_values_name, products_options_values_sort_order) VALUES
(@LongItem_id, 1, 'Long Item', 100);
In the file change every occurrence of RM1STLETTER to RMLONGITEM and modify all the descriptions as required.
Install the module then adjust the shipping weights and costs to cover the items you want to ship. Add the attribute "Long Item" to the items that you want to ship this way. If you only want it to apply to these items then turn on exact match and it will only allow these items to be shipped by this method. Note it may prevent them from being combined with other items. If you want to allow combinations but ensure that this method is selected you could set the shipping weight to 30.1Kg for the items which I think is above the maximum shipping weight for parcel force.
If you are not a coder then let me know and I'll see if I can create the module for you. I will not include it as part of big royal mail and will not guarantee that I will maintain it in the future as I do not know what shipping rates you will be using.
Just a few questions.
1) Do you only want this method to appear only when you have an item that is too long?
2) Is there one price for all items that are too long no matter how heavy?
3) can you combine other items with a long item?
4) is there any weight limit?
That should enable me to get something for you.
Mark
Attached a zip file with the module in. Install instructions are in README.htm in the docs directory.
You will need to adjust the rates to suit your requirements. The first figure is the maximum weight the second is the price you charge.e.g. (.1:1.4) is 100g (.1 kg) charging £1.40.
If you want to put in multiple rates then separate each one with a comma (,) e.g. (.1:1.4,1:20) this added above 100g to 1 kg charge £20.
I suggest that you turn on exact match for these items unless the shipping rate is above all other rates as it will appear for all items with out long item attribute. In its current form it will allow other items to be mixed in so if someone buys a rod and a reel then the items will be allowed in the same package. Give it a go and if you need any more help let me know.
Mark
Thank you Mark, I've had a good play with this mod and have got my attribute for Long Items working well :-) . One little query though, why is long items (length) have a weight rate charge? The reason I ask this is that I need to set up an excess weight charge (same cost as Long Items), but when setting an attribute for these items instead of Minimum Delivery Method showing 'Long Item' I want to display it as 'Heavy Item'. Is there a quick way I can do this with what you created?
Additional reply
I still need to keep the long item part you created, that is perfect. Would a duplicate mod work with another name work along side the Long Item mod?
Zen cart does not have length attributes. All the shipping modules are base on the weight of the item being shipped. Therefore the shipping module adds up the total weight of the order to calculate the cost of sending items. I added to Big royal mail the ability to take into account some aspect of size by using product attributes.
It sound like you are trying to use big royal mail to deliver via an other supplier (not royal mail). I would suggest that you just use the weight to determine the extra cost. If you want to use one of the modules you could just choose say 1st medium parcel and change all its headings in "\includes\languages\english\modules\shipping\rm1stmedparcel.php" to say what you want for the deliver. If you are entering the weights for all your items then you could just put in different weights for the different costs as described above. If you are using a template then you should copy the file above to includes>language>english>modules>shipping>YOUR_TEMPLATE in this way if you ever update big royal mail then your changes to the description will not be updated. (If you are not using royal mail rates then I would not advise updating as it would overwrite your price changes). If you do this you could use medium parcel for heavy items.
If you are using royal mail and want to keep the modules. Let me know. Is heavy item more important that long item or other way round?
Hi
Most of my items fall-in within Royal Mails posting so I will be using Big RM modules for these. Some Items are excessive length or weight which Royal Mail do not handle cheaply. There is no preference to either, customers choice would lead this. Long items would be 3m plus, heavy items can be up to 20kg. We would love to have these postage free but alas it would cost us heavily (excuse the pun). When setting up attributes it would be cool if to state Heavy or Long item. a clone of a module will probably be my best bet, but I am no coder and would benefit some help. I would be willing to donate for assistance if anyone could help. Sorry to be a pain in the ########.
Can you utilize the attributes function included with Zen-Cart? I created a radio button called "oversized item - additional charge" applied $20.00 and made the radio button default so the customer cannot switch it off. Your price will remain the same with "starting at", but total charge will include the oversize fee and any other options they choose.
You could just change the description in the \includes\languages\english\modules\shipping\rmlongitem.php to long and heavy. if you want to change the attribute description which the customer does not see log in to admin then go to catalog>attribute controller then click on option values. Find the Long Item and click edit. Change the name to what you want. Then you can use the same attribute for both long and heavy items (as long as you have the weight set to 20kg max then all should be well).
Hello lovely people
I've tried installing BigRoyalMail_V3.3.2 and I have a problem with editing and updating the following Small Parcel files:
rmamparcelsf (Royal Mail International Signed "Small Parcel" ver. 3.3.2)
rmamteuparcel (Royal Mail International Tracked EU "Small Parcel" ver. 3.3.2)
rmamtsparcel (Royal Mail International Tracked & Signed "Small Parcel" ver. 3.3.2)
When installing these modules I either get WARNING: An Error occurred, please refresh the page and try again. But then when I do and the module shows up there's something wrong with where the prices should be marked - it's just an empty box with no instructions. I tried putting in prices myself but it would not save. Pls see attached .jpg
My Unit weight is in 'gm' I have changed the other modules (letter, large letter etc) to reflect this (0.1 to 100 etc).
Funnily enough, both the 1st and 2nd class Signed small parcels modules work. It seems the problem is with the International Small parcels modules.
My zencart version is 1.5.1 This is the first time I'm trying to use BRM so it's a fresh installation. I'm installed the 'Install3.2.sql' patch but I noticed there is 'zen_Install3.2.sql' Should I have tried this instead. Also do I need to run any other sql patches?
Can anyone help me please?
Many thanks
Millie
Attachment 16368
Sorry to say this is a bug in the install function in the code. I have provided a sql patch file that will correct the issue.
Download and unzip then follow instructions below.
File:Attachment 16381
To install the patch.
First back up your database
Then run the patch.
1) log in to you Admin.
2) Go to Tools>Install SQL Patches
3) Either copy and paste the contents of InstallFix.sql to the window and run.
4) or Browse to the file and select Upload to execute the file
5) Check the modules they should now have cost in that you can modify.
Regards
Mark
Hi
Thanks for the excellent plugin.
Just installed on 1.5.4 and the Parcelforce module works fine but the EU ones do not show up as options. I ran the patch mentioned above and wonder if that was the wrong thing to do?
Odd question but I cannot find the answer anywhere.
Since adding the mod, the delivery method has disappeared from my packing slips.
How do I add the delivery method back onto it so that it prints on the slip?
Don't think this is caused by big royal mail. I assume you mean the packing slip is not showing the delivery method. I personally use the invoive for packing. However if you want to include the delivery method you would have to modify the packing slip php. This is found in //Your Site/Your admin/packingslip.php
The easyest way is just to add in all of the order totals lines just before the <table></td> statement about line 165 (unmodified zencaer 1.5.4). The code is
This will put the total / sub total and packing method after the products.PHP Code:
<tr>
<td align="right" colspan="8"><table border="0" cellspacing="0" cellpadding="2">
<?php
for ($i = 0, $n = sizeof($order->totals); $i < $n; $i++) {
echo ' <tr>' . "\n" .
' <td align="right" class="'. str_replace('_', '-', $order->totals[$i]['class']) . '-Text">' . $order->totals[$i]['title'] . '</td>' . "\n" .
' <td align="right" class="'. str_replace('_', '-', $order->totals[$i]['class']) . '-Amount">' . $order->totals[$i]['text'] . '</td>' . "\n" .
' </tr>' . "\n";
}
?>
If you only want the shipping method add the followingin the same place.
Hope that helps.PHP Code:
<tr>
<td align="right" colspan="8"><table border="0" cellspacing="0" cellpadding="2">
<?php
for ($i = 0, $n = sizeof($order->totals); $i < $n; $i++) {
if ($order->totals[$i]['class']=="ot_shipping"){
echo ' <tr>' . "\n" .
' <td align="right" class="'. str_replace('_', '-', $order->totals[$i]['class']) . '-Text">' . $order->totals[$i]['title'] . '</td>' . "\n" .
' <td align="right" class="'. str_replace('_', '-', $order->totals[$i]['class']) . '-Amount">' . $order->totals[$i]['text'] . '</td>' . "\n" .
' </tr>' . "\n";
}
}
?>
I am having a nightmare. Using v1.5.5a no template added.
I have load this plugin and I have found the patch. Question is do I need to load 2016Update.sql? I have tried but getting errors.
xxxxxx replaces my admin folder.Code:[19-Sep-2016 20:28:47 Europe/London] Request URI: /office/sqlpatch.php?action=execute, IP address: 109.157.232.207
#1 trigger_error() called at [/homepages/20/d503465712/htdocs/shops/cards/includes/classes/db/mysql/query_factory.php:167]
#2 queryFactory->show_error() called at [/homepages/20/d503465712/htdocs/shops/cards/includes/classes/db/mysql/query_factory.php:139]
#3 queryFactory->set_error() called at [/homepages/20/d503465712/htdocs/shops/cards/includes/classes/db/mysql/query_factory.php:266]
#4 queryFactory->Execute() called at [/homepages/20/d503465712/htdocs/shops/cards/office/sqlpatch.php:304]
#5 executeSql() called at [/homepages/20/d503465712/htdocs/shops/cards/xxxxxx/sqlpatch.php:672]
[19-Sep-2016 20:28:47 Europe/London] PHP Fatal error: 1064:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"20.00"' at line 1 :: /* * Update for Big royal Mail postage rates valid from 29 March 2016 for latest rates visit http://www.royalmail.com * * Assumes weights in Kg costs in GBP. * * created by Mark Brittain. * * Donations via paypal to [email protected] * * N.B. I do not guarantee to update this every year please check the rates with royal mail. * * ***** update descriptions as descritpions.txt***** */ SET @Default_Insurance = "20.00"; ==> (as called by) /homepages/20/d503465712/htdocs/shops/cards/xxxxxx/sqlpatch.php on line 304 <== in /homepages/20/d503465712/htdocs/shops/cards/includes/classes/db/mysql/query_factory.php on line 167
Ok I have manage to reproduce. If you replace all the double quotes (") with single Quotes (') it works fine.
Attached revised scripts. This effected other scripts as well on 1.5.5a. There are still two scripts I need to test. Hopfully these will be all the ones you need.
Attachment 16676
Its a change in 1.5.5a see https://www.zen-cart.com/showthread....80#post1318780 above.
Additionally I think there might be an issue in the quote.php. This can be found in YOUR_SITE\includes\modules\shipping\BigRoyalMail.
To be consistant you need to change (line 69 to 72) from
toPHP Code:
$attribute_postage_select = 'SELECT ifnull(max(pov.products_options_values_sort_order), 0) as postage_attribute
FROM ' . TABLE_PRODUCTS_OPTIONS_VALUES . ' pov INNER JOIN ' . TABLE_PRODUCTS_ATTRIBUTES . ' pa ON pov.products_options_values_id = pa.options_values_id
INNER JOIN ' . TABLE_PRODUCTS_OPTIONS . ' po ON po.products_options_id = pa.options_id
WHERE pa.products_id IN (' . $products_list . ') AND po.products_options_name = "Minimum Delivery Method:"';
I am away for a couple of weeks (so may me slow to respond). I will fully test all this again when I am back on 1.5.5a withe the latest SQL to see if I can find any more issues. Mean time if you do find any other issues please let me know.PHP Code:
$attribute_postage_select = 'SELECT ifnull(max(pov.products_options_values_sort_order), 0) as postage_attribute
FROM ' . TABLE_PRODUCTS_OPTIONS_VALUES . ' pov INNER JOIN ' . TABLE_PRODUCTS_ATTRIBUTES . ' pa ON pov.products_options_values_id = pa.options_values_id
INNER JOIN ' . TABLE_PRODUCTS_OPTIONS . ' po ON po.products_options_id = pa.options_id
WHERE pa.products_id IN (' . $products_list . ') AND po.products_options_name = \'Minimum Delivery Method:\'';
Is there an update for new postage prices?