Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Internet Explorer 8 (IE8) language issues anyone?


scranmer

Recommended Posts

A client emailed me to say the shopping cart doesn't quite work right in IE8, its been live for ages and looks/works fine in IE6.5, IE7, FF & Safari.

 

The site is very heavily modified with the php ini config of register_globals = On (don’t ask), sessions are stored in the file system, “Prevent Spider Sessions”, “Recreate Session”, “force cookie use” & “Use Search-Engine Safe URLs” all set to true. With a very extended version of “Use Cache” also set to true its hard to throw up any code BUT in short they have languages being switched through a html link calling JS conformation popup. This all runs fine, JS popup message is called, language is switched and I can even see the variables $language & $language_id are correctly set before tep_session_close(); in the application_bottom BUT if I look at the session files on the file system it shows its saved the language=english?!?!? With some playing I can sometimes get the language written correctly, then 1 or 2 clicks later its back to English.

 

Cart, weights etc (eg all other session params) look like they are all being saved correctly.

 

Only solution I have found is with setting register_globals = Off AND having to add a 2 second delay before tep_session_close(); in the application_bottom – totally weird!!

 

Anyone else finding any problems in IE8?

 

Or anyone got any ideas on settings or solutions to try as i am stumped?

 

Thanks

 

Simon.

Link to comment
Share on other sites

ive had a few reports on a couple of sites of eird issues with IE8 and people getting 404 errors after clicking into a subcategory or product

 

Only IE8 users and ive not been able to recreate the problem in my own IE8, Firefox or google chrome...

Link to comment
Share on other sites

ive had a few reports on a couple of sites of eird issues with IE8 and people getting 404 errors after clicking into a subcategory or product

 

Only IE8 users and ive not been able to recreate the problem in my own IE8, Firefox or google chrome...

 

 

alba, think we may have it. are you useing lightbox or prototype ?

 

ill get back to you shortly with all the details once we have prooved it.

Link to comment
Share on other sites

alba, think we may have it. are you useing lightbox or prototype ?

 

ill get back to you shortly with all the details once we have prooved it.

 

Yeah using lightbox and prototype on the install and rely heavily on it

Link to comment
Share on other sites

  • 2 weeks later...
Yeah using lightbox and prototype on the install and rely heavily on it

 

 

OK it is definitely an IE8 issue - and a bad one, its a bitch to find but very simple to solve. Its definitely lightbox thats affecting it but could also be other variants.

 

Basically each site would have to go and check the session table. You need to check to see what has bled into the variables being stored, then go and adjust application top to stop extra generation of session variables when the session is loaded next.

 

 

In application_top go and find the following (in osCommerce Online Merchant v2.2 Release Candidate 2a its lines 268-272)

 

  if (!tep_session_is_registered('language')) {
     tep_session_register('language');
     tep_session_register('languages_id');

 

you then need to replace the PREVIOUS line

 

  if (!tep_session_is_registered('language') || isset($HTTP_GET_VARS['language'])) {

 

with a list of your bled variables you found in your session. So for us we had 2 extra variables so its…

 

  if ((!tep_session_is_registered('language') || isset($HTTP_GET_VARS['language'])) && $HTTP_GET_VARS['language'] != 'includes' && $HTTP_GET_VARS['language'] != 'lightbox') {

 

 

 

this means our application_top looks like

 

 

  // set the language
 if ((!tep_session_is_registered('language') || isset($HTTP_GET_VARS['language'])) && $HTTP_GET_VARS['language'] != 'includes' && $HTTP_GET_VARS['language'] != 'lightbox') {
   if (!tep_session_is_registered('language')) {
     tep_session_register('language');
     tep_session_register('languages_id');
   }

 

 

HTH

 

Simon

www.iBridge.co.uk

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...