Nevermind, I think its working how I need it to, I wasn't seeing the Table Rate listed in shipping estimator, but when I restrict aerosols from using Royal Mail it does only show store collection and table rate.
Printable View
You can set up additional attribute values. 40 is the highest used currently for parcel force. If you set anything higher than that (say 50) then none or the royal mail modules will show.
If you want to to use this to restrict table rates on only those with attribute_postage of > 40 you could code this in the the table rates module.
You can see how i have done this in the includes>modules>shipping>BigRoyalMail>quote.php the $postage_check value for the module is set in the individual modules.
It should not take to much effort to change the other module.
Liked this idea so I have add and attribute "Do Not Use Any Big Royal Mail Modules" value 100. It is in the latest github.
You can download install3.2.sql and run again and it will create the extra attribute value without effecting the current values.
It will also correct the spelling mistake if you have not already done so.
You can then use this to exclude all the items that you do not want to send via royal mail.
Excellent, just reinstalling and setting up for my products on the live store so this change comes at the perfect time. Thanks a lot
Hi,
Trying to run the sql for BigRoyal Mail and getting an error.
V.1.5.7c (new install).
I took this sql code from GitHub.
Error is :
[04-Nov-2021 18:17:40 UTC] PHP Recoverable fatal error: Object of class queryFactoryResult could not be converted to string in /zcadmin/sqlpatch.php on line 753
I admit that I only loaded up one of the Royal Mail Modules - rm1stmedparcel.php
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 Delivery 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 Delivery or Parcel Force', 40);
SELECT (@ParcelForce_id := products_options_values_id) FROM products_options_values WHERE products_options_values_name='Special Delivery 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';
It appears that you do not have the latest version this is the same issue as https://www.zen-cart.com/showthread.php?198005-Big-Royal-Mail-3-0&p=1380799#post1380799
The latest version is here https://github.com/brittainmark/BigR...Install3.2.sql
This should work fine.
Just for info. It appears that royal mail are not raising their prices in January for postoffice customer.
Just heard that Royal mail are changing their EU parcel and splitting into 3 new zones, just to make life even more complicated, with different prices for each, depending on delivery method. Link to pdf on the Royal Mail site
https://www.royalmail.com/sites/royalmail.com/files/2022-03/royal-mail-our-prices-april-2022-v2.pdf?fbclid=IwAR074h8vz6t90YZnNzBYx-7PqecRphY1uq-hZi8WBqDVcggNNNuPSkExTwg
I am currently coding the changes. At the testing stage. I cannot find detail of Parcelforce worldwide non UK delivery prices, so may that have to come later. Will let you knpw whe it is in github and when arrived in zen cart addons.