Philip,
I think you meant that the target of your discreet traffic optimisation programme was shipping_estimator.php in the optional folder, and that the upgrade link is on the previous page in this thread?
Printable View
Philip,
I think you meant that the target of your discreet traffic optimisation programme was shipping_estimator.php in the optional folder, and that the upgrade link is on the previous page in this thread?
Think I'm ok there... only used the Sql files and non of the php from that folder!
Oops nope it's in shopping_cart.php not shipping.php in the define TEXT_INFORMATION it was saying something like "we don't ship to Australia or America....." contact us at my website
Where can I find the line 'Special Instructions or Comments About Your Order' to edit??
includes/languages/checkout_shipping.php
Thank you!
Hi there,
great module! all seems to work fine except when i add any of the international shipping options; then i get the following error message:
Warning: Variable passed to each() is not an array or object in /home2/public_html/ukstore/includes/classes/db/mysql/query_factory.php on line 112
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home2/public_html/ukstore/includes/classes/db/mysql/query_factory.php:112) in /home2/public_html/ukstore/includes/functions/sessions.php on line 100
Warning: Cannot modify header information - headers already sent by (output started at /home2/public_html/ukstore/includes/classes/db/mysql/query_factory.php:112) in /home2/public_html/ukstore/includes/init_includes/init_templates.php on line 78
please advise.
cheers, M.
I'm using v2.1 and the error appears at the very top of the screen from the moment one of the international options are switched on (also in the shipping estimator).
As per your guidelines, when I uninstalled the other modules and had airmail by itself it worked ok, though the first time round the shipping estimator also displayed this underneath:
Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
Strangely, that has not reappeared since. If i try to install even one of the other modules, say like 1st class large letters then it falls back into error.
Okay everything session based can pretty much be ignored, the error has caused the session cookie not to be sent so it then causes probably unrelated error messages. The 4.2.3 one has probably solved itself by setting a session cookie somewhere else but may appear in about an hours time !
Okay so am I to understand that something like royalmail 1st class will work on it's own with no other modules installed ? and that any of the airmail, airsure or international signed for modules don't work, e.g. is it country specific ?
Try each module one at a time, what I want to discount is file corruption since a lot of people use the modules and previously there has been the odd problem crop up because of a corrupted file (and I admit, I once uploaded a corrupted zip too).
Hopefully me explaining what we are looking for, may help you in the diagnosis.
Philip.
I have been able to successfully run royalmail 1st class large letters & packets, together with 2nd class large letters & packets plus ukzr, freeoptions and zone rates(which I managed to configure for international signed for based on your modules settings). The problem arises when I try to install any of the international options. I ought to mention (and I'm not sure this helps) that when the error messages arise at the top of the screen, if I click 'home', I get the following additional message:
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 'EXPECTED_PRODUCTS_SORT limit MAX_DISPLAY_UPCOMING_PRODUCT' at line 6
in:
[select p.products_id, pd.products_name, products_date_available as date_expected from products p, products_description pd where to_days(products_date_available) > to_days(now()) and p.products_id = pd.products_id and pd.language_id = '1' order by EXPECTED_PRODUCTS_FIELD EXPECTED_PRODUCTS_SORT limit MAX_DISPLAY_UPCOMING_PRODUCTS]
Ok, in terms of what works and what doesn't: Airsure, both options, will work provided no domestic services (except for ukzr) are installed. The other international options will not work even when installed on their own. I've gone through them one-by-one.
Appreciate your help on trying to work this out.
EXPECTED_PRODUCTS_FIELD EXPECTED_PRODUCTS_SORT is a bad thing, it means that somewhere you're installation is not picking up constants from the database that should be defined as numbers or strings so it's throwing a sql error in the database because zencart should have passed it something like
order by product_name instead of that junk that you got outputted. In your case what has happened is your upcoming products box has crashed in this scenario.
This may however be nothing to do with the problem. Remove bog standard airmail and the please download this file
http://bouncing.org/rmamsmallpacket.php.zip
unzip it and place it over the top of the file in includes/modules/shipping/ then re-install airmail and see if it works on it's own. I think it would be best to start talking on my personal email too as this is getting quite in depth the address is nod at bouncing.org
Thank you
Philip.
As from the above post, my shipping is now displaying the correct prices BUT, the items for sale have to be sent by Large Letter, Packet etc because of their size. Some items don't weigh much, but are too large to go as a large letter and have to be sent as a 'packet' How can I make sure when it comes to check out the correct shipping option is given. I tested this with an item and the shipping module gave a price of 32p (letter), but the item was too bulky for 'letter' and has to go via 'Large Letter'
hope you can understand what I'm trying to say ! lol
Thanks
Dan
At the moment only the Japanese version of ZC apparently does sizes, what I did was set a minimum/ maximum price of item to try and get around the problem you are describing, I sell lens caps, up to 5 caps its into the "Large letter" catergory, so working on that price, anything over, the large letter disappears and is placed into "packet". On borderline options I just let the user choose making sure they understand about the royal mail's £1 admin fee for releasing an oversized "large letter". On exceptional items like small socket caps, I make sure it's in the description which option to choose (except I've sold out so can't show you an example). What would have been nice in Zen cart would be the ability to set shipping modules in each item, you could have a default where it relies on the modules I've built and an override per item in a select box in the product admin. Anyway that's about the only solution I've found at the moment unless I have a lot more time available to take the Japanese version to pieces.
Ooh1 I am in Lurve :)
I have just downloaded this from the modules section after my new install and I love it - thank you so much philip for all your hard work. I was expecting to do the full table rates again!
I have a similar question to that above. I sell many things including paper which weighs light is 5gms but it is 12x12 size so regardless of the weight of the papers I must post it in a 'Packet' thiese allows the customer to select first class. I woud not want everything to go at a higher rat
Is there any way I could add something which lets it know that if paper goes into the card the packet must be sent as a packet or will I just have to put a message on and hope the customers pick ther corect size for postagte.
The only soultion so far is to put a message at the top of the shopping cart here
/includes/languages/english/[YOUR_TEMPLATE]/shopping_cart.php
or put it in the item itself, it's the only solutions that I have currently found. What I propose doing for version 3, is writing an override as describe above, to be able to disable shipping items on a per-item basis, but that is going to be complex. Also version 3 will be altering the admin side of Zencart which was something I was always loath to do because of upgrades.
This week I will release Parcelforce International Datapost, International Standard, Eurozone 48 modules, all pre-configure unlike the UKZR which is for mainland GB, and a sod to configure because people split the UK up in non-standard ways. I'm also intending to put the Netherlands into Europe, which I keep on forgetting to do.
I also have to let the forum know, that my physical state is deteriorating, should I pop my clogs, then Pixxi has agreed to takeover support, but someone will be needed to maintain the modules if the post office rates change, though at the moment I think that the modules would not require much "development" unless ZC changes structure dramatically.
Philip.
Thanks for that, its what I have done for the easy option.
My prayers are with you and your family
Hi,
I'm very excited by this Royal Mail mod and would like to install on my zen cart shop. I have read through all posts and confused about the duplicated counties issue. Can someone please tell me what is the BEST version to install this mod? Is it best install on UK template (by Mutual Advantage) or just original zen cart?
Also, does anyone know how to set up if the shipping is base on weight but will be free when it over certain amount (e.g. free shipping for order £50)?
Thank you in advance!
Hi,
Sorry to bother you.
Thanks for this great module, im new to this and have had no luck in what i have read from previous pages.
When i put the item weight as 0.1 in the new items page, everything is fine, on the shipping estimator it also says o.1kg, but when it gives the options it adds 3kg, this happens always, even if i change items weight it adds 3kg.
Also the following prices are not showing for 2nd class, 1st class, special delivery before 9am and standard special delivery isnt showing up at all, even though i enabled it options:
Available Shipping MethodsRatesRoyal Mail 2nd Class Recorded Signed ForTM "Large Letter" (The shipping rate cannot be determined at this time)Royal Mail 1st Class Recorded Signed ForTM "Large Letter" (The shipping rate cannot be determined at this time)Royal Mail 2nd Class Recorded Signed ForTM "Packet" (The shipping rate cannot be determined at this time)Royal Mail 1st Class Recorded Signed ForTM "Packet" (Great Britain and Northern Ireland only : 3.200 kg(s))£14.72Royal Mail specialdelivery® next day (Great Britain & Northern Ireland only : 3.200 kg(s))£20.90Royal Mail Standard Parcels (to £100 insurance) (3 to 5 days. Delivery to United Kingdom : 3.200 kgs)£11.20Royal Mail Standard Parcels (to £250 insurance) (3 to 5 days. Delivery to United Kingdom : 3.200 kgs)£12.45Royal Mail specialdelivery® 9:00am (The shipping rate cannot be determined at this time)Store Pickup (Walk In)
Any help would be greatly appreciated.
Thanks
N.Hudda
And thank you for this module, and i hope you get better soon.
Take a look at posts 192/193 - it's a setting in the standard zen cart that adds a 3 unit tare weight to all shipping ('tare' is an allowance for the weight of the box/crate/packaging). It causes so many questions in the forums that it should really be set to zero in the standard zen distro.Quote:
When i put the item weight as 0.1 in the new items page, everything is fine, on the shipping estimator it also says o.1kg, but when it gives the options it adds 3kg, this happens always, even if i change items weight it adds 3kg.
Try that first and then report back - eg. large letter only goes up to 750g, and 2nd class packet only goes up to 1kg, so you may find the problems are different once you take the '3' off the tare. Although you should also be able to remove that '... can't be determined...' message, and there may still be a tweak necessary for the special delivery 9am.
It's 1.46am here now and we've been out with friends this evening, so I'm leaving that bit until tomorrow when I'm more awake ... :smile:
1. The UK counties change quite regularly, so the counties that come as standard in the zen cart distro aren't up to date.Quote:
I'm very excited by this Royal Mail mod and would like to install on my zen cart shop. I have read through all posts and confused about the duplicated counties issue. Can someone please tell me what is the BEST version to install this mod? Is it best install on UK template (by Mutual Advantage) or just original zen cart?
2. The counties list in the 'UK template' mod should be the most up to date, but if you run the SQL in the mod it will (IIRC) install additional (regional) counties which you may not want if you're not splitting the UK/Ireland into regions for your shipping.
I would suggest you make your own counties list up by comparing/editing the existing zen zones table (in the database) with reference to the list in the UK Template mod and adding/changing/deleting as you need to.
You can set the maximum order value in all of the RM mods - at that point they will (or should...) turn themselves off, leaving the free shipping option as the only one. You'll need to search the forum for info on how to set up the free shipping mod - there are lots of posts :smile:
Thanks Pixxi
What a swift reply!
Thanks for all your help, and sorry to bother you.
Thanks,
N.Hudda
Hi,
I have just installed the latest version of this mod , having not used it before.
I get the following error when looking at shipping in admin:-
Warning: main(/home/otcafxm/public_html/alttest/includes/languages/english/modules/shipping/rm1stlargeletter.php) [function.main]: failed to open stream: No such file or directory in /home/otcafxm/public_html/alttest/admin/modules.php on line 174
Warning: main(/home/otcafxm/public_html/alttest/includes/languages/english/modules/shipping/rm1stlargeletter.php) [function.main]: failed to open stream: No such file or directory in /home/otcafxm/public_html/alttest/admin/modules.php on line 174
Warning: main() [function.include]: Failed opening '/home/otcafxm/public_html/alttest/includes/languages/english/modules/shipping/rm1stlargeletter.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/otcafxm/public_html/alttest/admin/modules.php on line 174
it continues for each shipping option that was added.
What i have done so far I have upgraded to 1.3.6 from 1.2.6 then checked that everything is working ok and installed this modules bu copying the files across.
I have not installed any of the sql files i was not sure about that.
i am currently running on a test site http://www.beeunique.co.uk/alttest/
Let me know if i need to provide any more information to get this resolved.
Please help :cry:
regards
Martyn
www.beeunique.co.uk
The error message is telling you that a language file for the mod (rm1stlargeletter.php) is not where it should be:
Upload all the files in the mod to your server again, making sure they all go into their respective folders, then report back if you're still having problems.Quote:
/home/otcafxm/public_html/alttest/includes/languages/english/modules/shipping/rm1stlargeletter.php
Hi,
I reuploaded files, i had put them in a template folder. I copied them to the \modules\shipping\ folder and now it seems to be working. Thanks for your very quick response.
regards
Martyn
Hi,
The rates seem to be are based on weight, which is great however my store has set prices based on cost of items rather than weight. Is there a way to change this for the different options?
For example airmail (small packet) has different zones and the related cost for the different weights.
If there is another option that caters for my store let me know.
The mod looks great.
regards
Martyn
All of the modules are based on weight - but if you want to try 'banding' your products into specific Royal Mail charging bands, you could see if it's possible to play around with either:
1. The weights you set on your products, and/or
2. The weight bands in the RM modules
so that it works out the way you want, although you may be better off using one of the other shipping modules designed to do that, such as 'per unit' - depending on what you want to achieve.
I've just had a look at your main (old) site to see what your postal bands are, but you have it down for maintenance right now, so sorry, but I can't be more specific at the moment.
Hi,
Do you know how i can clone the modules and change it to cost for item rather than weight or do this from the start.
I have a zones setup at the moment and would like to clone that so people can choose the different options depending on what is wanted.
I can't setup my store by weight i simply have too many items.
for example:
uk only royal mail 1st class
uk only royal mail 1st class recorded
europe (zone1) airmail
europe (zone1) airmail + insurance
Rest of world (zone2)
Rest of world (zone2) + insurance
We have the zones setup in our current setup and prices.
based on cost of item.
Please let me know the best way for me to do this please.
i just need to know how to do this, we have been getting customers to add in items for extra postage items but it does not look that good.
Regards
:cry:
Martyn
You could clone and rearrange them to work on cost, I would think - but, depending on how many order values : postage bands you have for each module type (eg. 1st class, 1st class recorded, etc.), it might be better in your case if you cloned the 'Table Rate' module instead.
The table rate module allows you to enter a list of order values : postal charges.
Did anybody ever get a resolution for the problem below.
I ask because I'm hitting exactly the same thing.
Have we a fix please? - PS running ZenCart 1.3.7 and Module version 2.11 downloaded from the Zen site.
This is a FANTASTIC mod if I can get it to work without crashing my Shop!
Check if you have magic_quotes_runtime enabled on your server - look in admin->tools->server info, and scroll down to the second main box area (under 'Configuration - php core').
If you have it enabled you need to turn it off. You can either put the following line in your .htaccess file in your server document root:
Or if you don't have access to your .htaccess file on your server, you can try adding the following:PHP Code:
php_flag magic_quotes_runtime off
to:PHP Code:
if (get_magic_quotes_runtime())
{
set_magic_quotes_runtime(0);
}
includes/application_top.php
and
admin/includes/application_top.php
right at the top of each file, after the licence info. Then report back and let us know if you're getting any other errors.
Thanks
Tried the second method - sorry no joy.
I will enable them again.
Is there any further diagnostic info that would help?
Do you mean magic_quotes_runtime was 'off' and you still got the error?
Did you check your server info after you put the code in those two files and saved them - was it 'off'?
In the /zc_install folder in your zen cart download there's a file called techsupp.php - upload that to your document root and the access it with your browser.
It will (also) tell you if magic_quotes_runtime is actually turned off - it will also tell you if there are any other things are 'on' that shouldn't be (they should be highlighted in red).
Post your site URL (or PM it to me) and I'll have a look at your techsupp.php if you wish.
Thanks for the response
I can run the php script as suggested over the weekend - in the meantime the Server Stats show the following regarding Magic Quotes: (also see attached pdf)
Thanks in advance.
Site is http://www.czechnymphs.co.uk/Shop
Quote:
Configuration
PHP Core
Directive Local Value Master Value
allow_call_time_pass_reference On On
allow_url_fopen On On
always_populate_raw_post_data Off Off
arg_separator.input & &
arg_separator.output & &
asp_tags Off Off
auto_append_file no value no value
auto_prepend_file no value no value
browscap no value no value
default_charset no value no value
default_mimetype text/html text/html
define_syslog_variables Off Off
disable_classes no value no value
disable_functions no value no value
display_errors On On
display_startup_errors Off Off
doc_root no value no value
docref_ext no value no value
docref_root no value no value
enable_dl On On
error_append_string no value no value
error_log error_log error_log
error_prepend_string no value no value
error_reporting 2039 2039
expose_php On On
extension_dir ./ ./
file_uploads On On
gpc_order GPC GPC
highlight.bg #FFFFFF #FFFFFF
highlight.comment #FF8000 #FF8000
highlight.default #0000BB #0000BB
highlight.html #000000 #000000
highlight.keyword #007700 #007700
highlight.string #DD0000 #DD0000
html_errors On On
ignore_repeated_errors Off Off
ignore_repeated_source Off Off
ignore_user_abort Off Off
implicit_flush Off Off
include_path .:/usr/lib/php:/usr/local/lib/php .:/usr/lib/php:/usr/local/lib/php
log_errors On On
log_errors_max_len 1024 1024
magic_quotes_gpc On On
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off
max_execution_time 60 30
max_input_time 60 60
open_basedir no value no value
output_buffering no value no value
output_handler no value no value
post_max_size 8M 8M
precision 12 12
register_argc_argv On On
register_globals On On
report_memleaks On On
safe_mode Off Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value
sendmail_from no value no value
sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i
serialize_precision 100 100
short_open_tag On On
SMTP localhost localhost
smtp_port 25 25
sql.safe_mode Off Off
track_errors Off Off
unserialize_callback_func no value no value
upload_max_filesize 2M 2M
upload_tmp_dir no value no value
user_dir no value no value
variables_order EGPCS EGPCS
xmlrpc_error_number 0 0
xmlrpc_errors Off Off
y2k_compliance On On
Try turning your magic_quotes_gpc off as well, ie, in:
includes/application_top.php
and
admin/includes/application_top.php
or in your .htaccess file:PHP Code:
if (get_magic_quotes_gpc())
{
set_magic_quotes_gpc(0);
}
PHP Code:
php_flag magic_quotes_gpc off
The .htaccess method is perhaps the more reliable way of doing it, if you have access to your .htaccess file.
Thanks
I'll try this and feed back.
OK
Tried that and crashed with message:
Fatal error: Call to undefined function: set_magic_quotes_gpc() in /home/czechny/public_html/Shop/admin/includes/application_top.php on line 55
:-)
I did say:
:smile:Quote:
you can try adding the following:
Will your server allow you to create an .htaccess file in your document root?
If so, put the two php_flag statements in the .htaccess.
I can edit the root file in the folder and add the lines - but then unfortunately the whole site crashes. - I do NOT have a .htaccess file in the root solder for the ZenCart store though - just for the whole site (the store is in a sub-folder).
Any ideas?
PS - Thanks for your time and efforts here!
The document root is your public_html folder.
The php_flag's should work fine in the .htaccess file there - unless your server has PHP running as a CGI module.
1. Is your server linux or Windows?
2. If you look at your admin->tools->server info, what does it say in the first section on this line:
Quote:
Server API Apache
I am sure when we were using Zencart 1.2.7 orders exceeding our maximum package weight would automatically be shown as two or more packages. Now, in 1.3.6/7 I can't find the same option, so that the shipping estimator just shows no shipping option available.
Using Royal Mail mod by the way.
I've just tried that on a 1.3.7 shop with the RM mods installed and it displays (ie. works) fine.
What is your maximum package weight set to, and what weight did you have in your cart?
What RM modules did you have turned on?
Hi, thanks for reply
Set max weight to 26 and am trying order weighing 32 (have also tried 40) in the shopping basket. When trying the 40kg order a weight of 20kg is shown in the header of the shipping estimator box.
Have 1st class, Recorded and Special Delivery modules installed. I am not using the optional shipping estimator mods.
Cheers
Hi, again.
My fault, sorted out what has happened. We very rarely get orders heavy enough to break the Special Delivery weight barrier, but have just temporally increased that and the module works fine.
Thanks again
The temporary fix for the problem where one has multiple packages over a weight limit, e.g. Airmail has a max weight of 2 kg's is to put in the costs of 2 Kg's plus 1 kg etc.... in the rates. Zencart will unfortunately display that your items would ship in 2 boxes of 1.5 Kg's each, when in reality you would pack a 2 Kg and a 1 Kg box, but the price would be correct.
I am looking in to making a modulus function for this, but the issue also arises that the shipping function in zen-cart is not really set up for multiple options, it relies on one courier that would carry a maximum of 50 Kg's so I think that one shall have to override the max weight setting in packages for these modules, to be the maximum weight for which one has a price.
Beta 2.2 is available from here:
http://bouncing.org/big_royalmail_v2.2.zip
the major change is the addition of eurozone 48, international standard, and international datapost services. These have required zone definitions to be added to location/ taxes. The only main issues that may arise are
a) I may have got the rates wrong
b) I may have got the countries in the wrong zones
c) the channel islands is defined in World Zone 4 for the royal mail, but may not be defined as a zone on your system. In which case a zone "Channel Islands" should be added, then Jersey and Guernsey added to that Zone, then teh Channel Islands zone should be added to "Zone Definition 4".
d) the royal mail has a "rest of the world zone" defined as zone 12. This is a problem for international standard deliveries. France, Denmark etc... some other close by countries do not have the international standard service, they only have Eurozone or datapost, so a dummy entry has been added to the zone definitions. This is because if one were to choose one's country as France, and a dummy zone definition for "international standard" did not exist, automatically the module would interpret France as in the "rest of the world" zone and offer an incorrect shipping value.
It is possible to hard code the module for international standard to ignore countries such as France, but if the royal mail were to redraw the borders, then the hard coding would have to be altered, whereas this way a zen-cart administrator can add or remove a country from the zone definition without having to touch the php.
Thank you,
Philip
Hello, firstly, I'm a newbie so go easy on me!
I'm in the process of setting up my website using Zen Cart V1.3.7 and have so far tweaked only basic layout settings and am now getting round to setting up shipping modules.
Big Royal Mail 2.11 looks like just the ticket (thanks Philip et al) - many of my products are shipped Airmail/Airmail 'International Signed for' (in addtion to UK 'large letter')
I've read through this entire thread and think I may have confused myself regarding installation of BRM2.11. I have a 'virgin' installation of Zen Cart 1.3.7 (i.e. no UK counties) so could someone detail my best installation steps please (I've also read the installation docs and find those a bit confusing - although understand that all the options are required to account for users varying states of configuration).
Thanks in advance,
Jonathan
okay you can totally ignore the ukzr - uk zone records, just put the files from bigroyalmail/includes/modules/shipping/ into YOUR_INSTALL/includes/modules/shipping/ and the files from bigroyalmail/includes/languages/english/modules/shipping into YOUR_INSTALL/includes/languages/english/modules/shipping and then go into zen cart admin and install the modules in the shipping section by going to the modules menu, choosing shipping and you should see a whole host of shipping modules, click on the row and then click install for each module you want.
UKZR is complex as it deals with splitting the UK in regions, but for large letter and airmail it's a very easy install as it basically goes, is the user in the UK ? present the UK options, otherwise give them airmail (if you've installed it correctly),
Philip.
OK, thanks Philip, that sounds easily within my capability!
I guess these go in the core folders (i.e. not my template override)
Also, I note that within those folder trees there are files named ukzr.php - do I copy these aswell?
Many thanks,
Jonathan
Oh it's fine that you copy across ukzr.php just dump the whole lot in the folder, it doesn't do anything unless it's installed through the admin interface, and even then you really should read the instruction pdf before considering doing it. Or check which zones are installed on your system and then ask the forum first.
One thing to mention, you might find that on airmail the Netherlands code, NL is not in Europe, it may be in the "rest of europe" box, if it is, move it out and intot he correct box. It was fixed eventually in one release but I can't remember which one.
Thank you
Philip.
Phillip, did you manage to fix the problem on message #211 by talking privately to him/her? The reason I ask is cause I just install zen-cart on my server and get the same problem. Initally throught it was something else as did someone else who replied to my post in other topic but since than after doing one at a time, etc found out it is this plug in. Only happens when I activate the international options. We can live with no international options for now but would like to have it fix if possible. I tried that bouncing.org small packet PHP file and still did not fix the problem. Lastly you said the Japanese does sizes from other discussions the Canadian one does as well.
iceburn - no the problem was never solved, we knew what was happening but not why it was being triggered and then the user disappeared probably to use something else. could you email me at nod@bouncing.org and we might be able to get to the bottom of this.
Thanks for the Canadian info, it will probably be quicker, I've been looking at adding attributes to the products and then basing a ruleset on that, my own lens caps have a small packet/ large letter issue that needs to be addressed so it's still work in progress.
Philip.
Philip,
Just a FYI ..
The error reported in post #207 above is listed in the Wiki (due to magic_quotes being enabled on the server) - maybe worth checking ... :smile:
http://www.zen-cart.com/wiki/index.php/Errors#Warning:_Variable_passed_to_each.28.29_is_not_an_array_or_object_in_....2 Fincludes.2Fclasses.2Fdb.2Fmysql.2Fquery_factory.php_on_line_100
Thanks Pixxi, we'll compare server configs, though it's odd that they have a limit of either 6 normal modules or 1 airmail module, so I'm going to work out which bit is triggering it.
Hi
the modules all install without a problem, but when viewing international signed for, the costs are under the side box
Special delivery and courier option are fine.
link here http://www.realraptors.co.uk/cart-im...n/shipping.gif
Any idea's
thanks
Andy
yes put a <br /> in the file /includes/languages/english/modules/shipping/rmamisfsmallpacket500.php
before "<b>extra insurance</b>"
Alas I can't tell how big people's screen widths are etc... or how they have modified their layouts or what sideboxes are visible so it has to be done manually if a layout problem arises.
Philip
yep, that solved it
thanks, and great module
Andy
I want to add another shipping part for special delivery on Saturday, which cost an extra £2.00 on top of normal SD price, ive copied the two files from SD and renamed them, uploaded them, but do i need to adjust the DB?
thanks
Andy
As i understand it, you want to offer the Special Delivery Saturday service, which would cost an extra £2 ?
This would be difficult as you would have to turn it on every Thursday after 5 o'clock and then turn it off on Friday at 5 o'clock. I think maybe you should just add a £2 extra handling charge during these times and change the define text. Creating a new module entirely is a little trickier than copying the files over. The problem with turning on and off something is that say, they want to order on a Friday but have it delivered to a work address on Monday ? then you're a bit stuffed unless you have a unique Saturday delivery module to turn on and off.
To create a special Saturday delivery module, you would have to copy the files across to new names, rename the class inside the include file to the new names of the files, change all of the constants in the include file (which go into the database) and then add £2 somehow to the rates, change the text in the new define file and then either turn it on and off on a Thursday/ Friday or write a bit of php to do it for you.
It's not impossible, it's very easy for a normal php programmer, it's just a bit time consuming.
Philip (the bloke wot wrote the modules).
Don't know what its call but could you use the rountine that allow you to run scripts at set times? This rountine could than run the script which turn on seperate special delivery by Sat and still keep the others after 5pm on Thursday and turn it off at 4pm Friday.
side note they will still try and deliver normal special delivery on Sat.
I think I will just leave it on and call it saturday only, im not a script writter, I can just about edit the pages to look like i want them ;-)
thanks for the options
Andy
Yes it is possible as mentioned above, it would also only take a couple of hours if someone were familiar with the modules (that would be me). It would also require an override to test that it worked, or to display the option so that someone ordering from work on a Wednesday could get it delivered to their home address on Saturday. It also does depend on whether the server time is correct.
Hope you can help
Ive just added Taiwan to the zones and setup for no UK VAT, all this works ok, but when I check out on a test with an Taiwan address i get international signed for show up as expected, but also special delivery, but not special delivery 9.ooam
any ideas?
Andy
Have you added anything to the modules themselves ?
both of your international modules have TW already in, but cant see why SD comes up
Andy
In the module code, it looks for a valid country, in the case of the british ones it is only configured to looked for things with a country code of GB, the only way for special delivery to come up, is if somehow you've got Taiwan somewhere attached to England, the problem is going to be finding the little sucker. Now how did you create the taiwanese address ? as a guest, as a logged in person ? if you were logged in, there is a possibility that a british account then changed to a taiwanese one would trigger the country code, but it's unlikely because it's only triggered special delivery. Now with special delivery, is it giving a price, does your special delivery 9am have any pricing limits that may cause it not to display ? as the modules are virtually identical. There is another option, in that your session could be corrupt, recently I diagnosed an error in the zencart database setup for storing sessions, but it still does not explain why only one british option would be showing.
Righty ho, so I am imagining the donate button up there then ? so it's okay for me to write modules for zen cart, it's okay for me to correct your rather serious ######## up with session storing in the database that's leading to hundreds of erroneous errors on any installation since 1.3.5, but it's not okay for me to suggest that I should be renumerated for my work ? instead you can ask for money and then remove my post. Okay then how about this, would anyone like to DONATE large sums of money to me then ?
I quit
the Taiwan address is a new acount to test with.
Had to put taiwan into zones
Zone definitions is
EU and rest of world
Tax classes is
with vat
without vat
rates are
0%
17.5%
Taiwan is in rest of world
i thought it might be to do with the above, but it checks out
Andy
Hi,
I'm having a problem upgrading to v2.11 from v1.1....
I have upated all the files as it said in the installation instructions (and run the SQL queries), however I can't get most of the shipping options to display.
I can install them ok in the Admin interface but there's something weird with the Minimum & Maximum Order Value boxes.... The boxes are there, but they are not titled... and if I put values in them, I can't save them - they're just blank every time.
I'm guessing the reason that the shipping options won't display on the front is because it thinks that my products aren't meeting the min order value.
Does anyone know how I can fix this problem?? I've tried deleting the module files and starting again but that doesn't work!
Cheers,
Oli
Oli,
I would suggest having a look at your SQL database in the configuration table. Sounds to me like the update did not go to plan, or you didn't run the 1.2-1.3 update. Each module should have a slew of RMAMSMALLPACKET_MIN_ORDERVALUE and similar defined.
Use phpmyadmin or your favourite SQL admin tool.
Rgds,
Hi,
I did run the update ok, but looking at the SQL in the update, it only adds the following configuration key:
MODULE_SHIPPING_RMAMSMALLPACKET_HIDE_SHIPPING_ERRORS
Noting to do with the Min/Max Value...
If someone would be able to send me exactly what entries I should have in the configuration table for all the shipping modules, then maybe I could just import them in??
Oli
Oli,
Those values are all added by the module install. If you look at one of the version 1.1 modules and compare it to version 2.11, or any version after 1.1, you will see that the install around line 254 or so in the version 2.11 incarnation, that min and max order value are inserted into the configuration table.
At a guess I'd say pick one installed Royal Mail module in Admin, explicitly remove it with the Remove button, immediately reinstall it with the Install button, and then edit it. That should create all the missing values automatically.
Hope that helps.
Rgds,
Hi,
I've just installed the royal mail module and if I load more than about 8 of the module options I get this error message on my page;
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 'EXPECTED_PRODUCTS_SORT limit MAX_DISPLA
in:
[select p.products_id, pd.products_name, products_date_available as date_expected from zen_products p, zen_products_description pd where p.products_id = pd.products_id and p.products_status = 1 and pd.language_id = '1' and p.products_date_available >=20070212 order by EXPECTED_PRODUCTS_FIELD EXPECTED_PRODUCTS_SORT limit MAX_DISPLAY_UPCOMING_PRODUCTS]
Any ideas?
Looks like a common issue with this module - had it ourselves, had to reduce the number of options down to registered first class packet and same with insurance, along with standard parcels and the error went away - seems to be hit and miss with the number of options being enabled that the error appears.
Look at a couple of posts before this from bouncingltd more info, unless there is an updated module released I dont think there is any progress in resolving these issues unless you want to rewrite some code..
Philip discovered the cause of this problem and posted the solution in the 'Bug Reports' forum a while back:
http://www.zen-cart.com/forum/showth...018#post318018
Here's a copy of his post:
Quote:
Affects versions 1.3.5 and above
For people that are using database caching, if the serialized session variable reaches 64Kb then the constants collapse throughout the site. This is commonly presented as a SQL error with something allong the lines of
error: check your sql syntax where EXPECTED_SORT_ORDER
this collapsed constant is not predictable as it depends on how zencart is configured and which constants are looked for first. The main cause is installing many shipping and payment modules so that the stored session variable is over 65k, which is leading to people saying "something's wrong with your module". Commonly the first time the site is visited, nothing will go wrong as the data is pulled from the database and then stored in the cache, the second time when the data is retrieved from the cache the site collapses.
The fix: The database db_cache should be created with the column cache_data as a mediumblob not as a blob for future version of zencart.
Current users of zencart can either change to to file based sessions or can upgrade their database manually by using the query
ALTER TABLE db_cache CHANGE COLUMN cache_data cache_data MEDIUMBLOB NOT NULL
This query should be run through either a mysql console or phpmyadmin. It should also be included in the upgrades from version 1.3.5 upwards.
Philip.
Is it possible to stop the shipping weights being shown to the customer? We have customers that will quibble if the parcel should be lighter than shown!
You can edit each of the module files (ie. includes/modules/shipping/ ...).
Around line 176 in each of the module files you should see something like:
'$sw_text' holds the numerical weight, and the constant after it holds the 'kgs'PHP Code:
$shipping_method = MODULE_SHIPPING_RM1STPACKET_TEXT_WAY . ' : ' . $sw_text . ' ' . MODULE_SHIPPING_RM1STPACKET_TEXT_UNITS;
Remove the last part of that line so it looks like:
You may also need to remove the text 'Weight' from the 'MODULE_SHIPPING_name of module_TEXT_WAY' defines in each of the respective language files (ie. in includes/languages/english/modules/shipping/ ...)PHP Code:
$shipping_method = MODULE_SHIPPING_RM1STPACKET_TEXT_WAY;
Many thanks Pixxi for your swift and helpful response. I would like to thanks all who have assisted in the production of this excellent module.
Hi,
I am new here and am slowly learning about Zen Cart. I have just installed big_royalmail_v2.11 while reading this thread and have experianced some of the issues that have appeared in these posts and resolved them by continuing to read on. I have not yet seen a resolution to posts #211 and #254/5
I have established that the problem seems to be with the two international signed for modules. each seems to work independantly but they dont work together.
If there is a resolution I would be interested to hear it, but I'm sure I can manage if there is no resolution. What concerns me more is that someone has rocked the boat.
Who is this Kim and why has she/he upset Philip? Obviously this kim has not read this thread fully or she/he would have recognised a hard working, straight forward, honest programer with greater personal worries than fixing bugs in a great creation and correcting newbie errors for no personal gain.
The last post from Philip on this thread that I can see was January 28th #271:
If Philip has truly quit then it's a sad loss to this community and Kim needs the boot :lamo: .
If you should read this philip, Thanks for a great mod, may your health improve and I wish you peace of mind.
TFB
Did you see the post a few above yours (#279)?
I have (while testing) installed *all* of the modules together on a 1.3.7 shop and not had any errors. If what Philip's posted the solution to is not the cause of yours, perhaps your error is different?
What exactly are you having problems with, and what errors are you getting?
Thats good to hear Pixxi - we have installed all the modules on a 1.3.7 shop and DO get the errors, as several others are reporting - post #279 hasnt fixed the error in terms of the mySQL code being run on the database for the db_cache table.
Are you running file based sessions? We don't really want to switch from db sessions to file based if it can be avoided.
Sessions in the db, cache as file-based.Quote:
Are you running file based sessions?
If you install all the modules on a stock zencart demo store, do you get the same problem?Quote:
What exactly are you having problems with, and what errors are you getting?
Hi Pixxi,
Yes thanks I did see the post #279 and yes I am using db sessions however I only have 5 shipping modules installed. 6 when both RM International signed for modules are installed.
With only 5 modules installed compared to the 23 modules included in 'Big RM' I did not imagine that a 6th module could possibly take me over the 65k limit. Also as I have no way of knowing how much info is being stored in the sessions and I do not get anything like "error: check your sql syntax where EXPECTED_SORT_ORDER", so I discounted that as the solution.
I dont really understand databases, php or sessions, but, with further experimentation I have found that I can install both RM International signed for modules on their own and they work. I can then install further modules 1 at a time and with various combinations of modules I am able to install between 5 and 7 modules before it all goes ######## up. So I guess it must be the session size after all.
I have included the error message I get below. Switching off a module fixes the error so I guess I need to change to file based sessions or try the suggested sql query. Unfortunately I do not know how to do either so I may have to reinstall from scratch and choose files instead of db for sessions.
Then again unless there is an easy way of sorting this I may just use 4 or 5 of the modules for everything :smile: .
Regards TFB
Warning: Variable passed to each() is not an array or object in /home/sites/newmoontrading.co.uk/public_html/includes/classes/db/mysql/query_factory.php on line 114
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/sites/newmoontrading.co.uk/public_html/includes/classes/db/mysql/query_factory.php:114) in /home/sites/newmoontrading.co.uk/public_html/includes/functions/sessions.php on line 102
Warning: Cannot modify header information - headers already sent by (output started at /home/sites/newmoontrading.co.uk/public_html/includes/classes/db/mysql/query_factory.php:114) in /home/sites/newmoontrading.co.uk/public_html/includes/init_includes/init_templates.php on line 78
ZC 1.3.5
big_royalmail_v2.11
db sessions
You can run the SQL via PHPMyAdmin (there should be a copy on your server) or you can edit the db_cache table directly and change the field type from 'blob' to 'mediumblob'.
Alternatively, to test if the 'blob' field is the cause of your problem, you can change to file-based sessions by finding this line in both your includes/configure.php and admin/includes/configure.php:
and change it to:PHP Code:
define('STORE_SESSIONS', 'db'); // use 'db' for best support, or '' for file-based storage
Also check that you have the right path in admin->configuration->sessions->sessions directory:PHP Code:
define('STORE_SESSIONS', ''); // use 'db' for best support, or '' for file-based storage
eg (your server may differ):
home/your_server_account/public_html/cache
(no trailing slash)
Took the easy route by switching to file sessions to test before I risk messing about with the db but it doesnt appear to have resolved the problem....
changed includes/configure.php and admin/includes/configure.php as you suggested and checked the sessions path which is:
/home/sites/newmoontrading.co.uk/public_html/cache
still get the same error message at the top of the page as last posted, no difference at all. So maybe it's not the blob thing?
I also get an error message in the body of the page if I click 'Home' (with db and with file sessions):
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 'EXPECTED_PRODUCTS_SORT limit MAX_DISPLAY_UPCOMING_PRODUC' at line 7
in:
[select p.products_id, pd.products_name, products_date_available as date_expected from products p, products_description pd where p.products_id = pd.products_id and p.products_status = 1 and pd.language_id = '1' and p.products_date_available >=20070312 order by EXPECTED_PRODUCTS_FIELD EXPECTED_PRODUCTS_SORT limit MAX_DISPLAY_UPCOMING_PRODUCTS]
I dont know if that sheds more light on the subject or adds to the mystery.....
TFB
Hi,
I am wondering if someone else has installed the Royal Mail Modules and uses Paypal Express Checkout. (Royal Mail 2.11, Paypal Express with latest patches of March 3rd, Zen-Cart 1.3.7).
My problem is that when returning from Paypal the user is presented with the shipping options page even if I switch on the option of skipping this page and selecting the cheapest option in the Paypal Express Checkout module. A quick look at the Paypal module suggests that if it is not possible to determine the correct shipping option then it returns to the shipping options page.
However if together with the Royal Mail shipping modules I activate e.g. the flat rate (or the zone rates), then in return from Paypal I get the correct final page with all the summary but the shipping option is then flat rate, even if it is more expensive than the royal mail ones.
All this suggests me that for some reason the paypal express module is not able to get info about shipping costs from these royal mail modules while it does correctly from the ones installed with the default zen-cart (I have tried flat rate and zones).
Any help appreciated, thanks
Ed.
TFB,
Where/when are you getting those errors? Is it as soon as you access the shop, at checkout, when you add to the cart, etc etc?
Secondly, what other mods/addons if any do you have installed?
Ed.
I don't use the Paypal Express checkout, but the discussion here:
http://www.zen-cart.com/forum/showthread.php?t=58104
and the text associated with the 'Auto select cheapest' seem to indicate that it could return you to the shipping page if it's confused? viz:
'When customer returns from PayPal, do we want to automatically select the Cheapest shipping method and skip the shipping page? (making it more *express*)Note: enabling this means the customer does *not* have easy access to select an alternate shipping method (without going back to the Checkout-Step-1 page)'
I'll do a bit of digging.
Chuck
I am getting really confused about the freeshipper module and Royal Mail Module.
What I need to do is have some products which are always shipped free with no other option and others for which we charge.
What I get for the free shipped products is both free shipping and chargeable postage offered.
It's all to do with VAT being chargeable for some products but not others and the only way round it, that I can see, is to make delivery included within the price of zero rated items.
TPHoare,
It's a while since I used the free shipping, but a couple of things spring to mind. Firstly there are 2 free shipping modules, one manically applies itself, the other allows one to set some options.
Secondly, if a product is always free shipping, it should probably be set to Product Type 'product-free shipping', as if it is set to Product Type 'product-general' and one of the other shipping modules sees shipping type attributes like weight or destination zone in the shipping estimator or checkout, they will calculate a shipping cost.
Chuck
Chuck
Thanks for reply - I still get the other RM options showing but by jiggling with the costs I can always show a zero price for free delivery items.
My ultimate solution, however, would be to show zero rated products having zero rated delivery. Don't suppose you have any idea if anything is around that I could use.
Going to be either out of pocket or in trouble with the VAT man otherwise.
Tim
Tim,
You're getting into very murky waters there. As I understand the default position if a charge is made for delivery of zero rated goods, the delivery is regarded as a separate contract, and is vatable. Postage is, however, zero rated.
If delivery is included, or you act as your clients agent in arranging delivery with the Royal Mail on their behalf, etc etc it may also be zero rated. Tis the most fine grained nitpicking I have ever seen. See leaflet 700/24.
Returning to your question itself, it shouldn't be too difficult to detect a zero rated product and zero rate the delivery charges, but tread carefully, as I would imagine that if you don't collect them, you're still liable to pay them.
Chuck
I know, was on to the VAT people this morning following a customer's query. The VAT person made no bones about it - zero rate goods, zero rate delivery. Also if you look at Amazon, they don't charge VAT on delivery of books, but obviously do on anything else.
Anyway, the safest bet for the time being is to offer free delivery on zero rate goods and charge normally for the rest.
Thanks for reply anyway
I'd suggest writing the VAT persons name down in a very prominent and accessible place, just in case. They tend to change their minds on such things.
In a nutshell, Zen cart implements the concept of a shipping method based tax, rather than an individual product shipping tax, probably because Sales Tax rather than VAT is used in the USA.
The shipping calc routines simply get a weight, from which they calculate a rate and apply any tax they have been told about. To change this cleanly, one would probably have to also pass the product tax rate in, and apply that instead as a quick and dirty. I'm sure there are more elegant ways to do it.
Chuck
Ok. I've discovered how to get this error to happen on a test shop, so for anyone who is using database-based caching and having the following errors:
and/or:Quote:
Warning: Variable passed to each() is not an array or object in ... ...
when they install more than a few (typically 5+) Royal Mail modules in their shop, the following (hopefully) will explain what's happening, and why the SQL fix hasn't seemed to work.Quote:
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at ...
Warning: Cannot modify header information - headers already sent by (output started at ...
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 'EXPECTED_PRODUCTS_SORT limit MAX_DISPLAY
in:
[select p.products_id, pd.products_name, products_date_available as date_expected from products p, products_description pd where p.products_id = pd.products_id and p.products_status = 1 and pd.language_id = '1' and p.products_date_available >=20070313 order by EXPECTED_PRODUCTS_FIELD EXPECTED_PRODUCTS_SORT limit MAX_DISPLAY_UPCOMING_PRODUCTS]
As Philip said in his bug report (see post #279 above) the above errors are being caused by the cache_data field in the db_cache table (in the database) not being big enough out-of-the-box to hold the increased data that the Royal Mail module(s) adds - each module adds a load of zone and shipping rate parameters, so the more modules you add, the bigger the stored data becomes until the storage capacity of the cache_data field is exceeded and the data that the shop is attempting to store there becomes corrupted.
As Philip has said, typically your shop will be fine the first time you access it after installing the RM modules (or after enabling more of them in admin) as the parameters are read from the various tables in the database and stored for the first time in the db_cache table) but subsequent visits will give the error (when the corrupted cached data is then read from the db_cache table).
The solution (again as Philip has said) is to either increase the size of that field from 'blob' to 'mediumblob' - either by editing the structure of the field in the db_cache table, or by running the SQL:
or, alternatively, to change to file-based caching (in your configure.php files) so the db_cache table isn't used.PHP Code:
ALTER TABLE db_cache CHANGE COLUMN cache_data cache_data MEDIUMBLOB NOT NULL
For those people who've already run the SQL to increase the field size to 'mediumblob' and still have the errors, this is is important step that's been missed so far:
The db_cache table is still holding corrupted data - so even after you've ran the SQL, the corrupted data is still in the db_cache table and is being retrieved by the shop, and hence the errors still appear. You need to delete the row of cached data in the db_cache table.
You can delete the row either by editing the db_cache table directly with PHPMyAdmin - it will typically look like this:
( delete the table row beginning 'zc_...')PHP Code:
cache_entry_name cache_data cache_entry_created
zc_cc21d2f64edffccfe06d12dd3327... (might appear blank) 1173818124
or by changing (temporarily) to file-based caching by editing your includes/configure.php and admin/includes/configure.php and changing:
toPHP Code:
define('SQL_CACHE_METHOD', 'database');
Then save both configure.php files and access your shop - the error should disappear. If you wish, you can then change both configure.php entries back to 'database' - providing you've first run the SQL, of course.PHP Code:
define('SQL_CACHE_METHOD', 'file');
If you change to file-based caching, check you have the correct path to your cache folder set in admin->configuration->sessions->session directory - it should look something like (your path will probably differ):
@theflyingbeard (and anyone else who tried it): Apologies for giving you duff info in my post above (post #281) on what to change in your configure files - I was thinking of 'sessions' when I should have been thinking of 'cache'.Quote:
/home/your server user name/public_html/cache
Well done Pixxi.
A cachet for your cache work!
Chuck