Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

[Contribution] iOSC - mobile version of OSC on your iPhone


bumbarash

Recommended Posts

Hello rainer,

It me again with a small problem, I have added all the add-ons successfully to my mobile site and everything work OK, I am having a little trouble with the add-on for

send Html Welcome Email and invoice

 

The email invoice and welcome are both perfect when account is created and order made from mobile site just that the pictures /background do not show due to wrong link address

It should look like

mysite.com/test/catalog/images/4105_wt.jpg  but is like below
mysite.com/test/catalog/mobile/www.mysite.com/test/catalog/images/4105_wt.jpg

 

I just can not figure out were to edit this duplicate info, I want to either take picture from mobile directory or store directory, why is it taken from both?

I am not sure if you can help me with this but I thought before I rip everything out I should ask you :)

 

you can look at the screen shot below

http://www.spiceupyourlifenow.com/kumar/html_email_error.jpg

 

Thanks

Sam

 

 

Hello Sam @@Spiceupyour,

 

In includes/languages/english/create_account.php and includes/languages/english/checkout_process.php

 

find this part:

define('VARTABLE1', '<table width="100%"  border="0" cellpadding="0" cellspacing="0" bgcolor="' . COLOR_TOP_EMAIL . '"   background="'. HTTP_SERVER . DIR_WS_CATALOG . DIR_WS_IMAGES . BG_TOP_EMAIL . '" >

the constant "DIR_WS_IMAGES" is defined different on the mobile site to show the images in the main image folder (../images/). This produces the error.

change this part to:

define('VARTABLE1', '<table width="100%"  border="0" cellpadding="0" cellspacing="0" bgcolor="' . COLOR_TOP_EMAIL . '"   background="'. HTTP_SERVER . DIR_WS_CATALOG . 'images/' . BG_TOP_EMAIL . '" >

The same for other instances in the language files where the image directory (DIR_WS_IMAGES) is used:

just change:

DIR_WS_IMAGES

to:

'images/'

 

Hope this helps

Rainer

Edited by raiwa
Link to comment
Share on other sites

Dear rainer,

Thanks solved a part of my problem, now the store logo shows up but the item purchased picture and background still does the same thing

 

I have tried to replace the image directory in 3 places, did not work so with only one change in the second line [ define('VARLOGO',] i got the logo working

 

I think I have to move a copy stylesheetmail.css to the mobile directory ?

 

this is the error for the product purchased image 

h**P://www.mysite.com/test/catalog/mobile/h**P://www.mysite.com/test/catalog/images/4105_wt.jpg

 

original code

// Prepare Variables
define('VARSTYLE', '<link rel="stylesheet" type="text/css" href="'. HTTP_SERVER . DIR_WS_CATALOG . ' stylesheetmail.css">');   //Define CSS Stylesheet to use
define('VARLOGO', ' <a href="' . HTTP_SERVER . DIR_WS_CATALOG . '"><IMG src="'. HTTP_SERVER . DIR_WS_CATALOG . 'images/' . STORE_LOGO .'" border=0></a> '); //Define Logo location.  DO NOT CHANGE
define('VARTABLE1', '<table width="100%"  border="0" cellpadding="0" cellspacing="0" bgcolor="' . COLOR_TOP_EMAIL . '"   background="'. HTTP_SERVER . DIR_WS_CATALOG . DIR_WS_IMAGES . BG_TOP_EMAIL . '" > ' ) ; //Header Table 
define('VARTABLE2', '<table width="100%" border="0" cellpadding="3" cellspacing="3" bgcolor="' . COLOR_TABLE . '"   background="'. HTTP_SERVER . DIR_WS_CATALOG . DIR_WS_IMAGES . BG_TABLE . '">');   //Body table formatting
 
 
any advice will be appreciated
Thanks
Sam 
Link to comment
Share on other sites

Solved !!

 

Dear Rainer,

 

I had to do what you suggested

just change:

DIR_WS_IMAGES

to:

'images/'

 

Plus had to make changes to the config file

 

replace:

//defined('MOBILE_SESSION') ? define('DIR_WS_IMAGES', HTTP_SERVER . DIR_WS_HTTP_CATALOG . 'images/') : define('DIR_WS_IMAGES', 'images/'));
 
with:
defined('MOBILE_SESSION') ? define('DIR_WS_IMAGES', '../images/') : define('DIR_WS_IMAGES', 'images/');
 
works like a charm
 
Thanks
Sam
Edited by Spiceupyour
Link to comment
Share on other sites

  • 2 months later...

Nice Contribution. Installed without a hitch except for the Language gif images. All browsers told me that those images were non-secure on the SSL. Took forever to figure out how to resolve that.

 

In mobile/includes/modules/options.php

(around line 17)

 

reset($lng->catalog_languages);
          while (list($key, $value) = each($lng->catalog_languages)) {
              if ($language == $value['directory']) {
                  $icon = 'check';
                  $datatheme = 'b';
                $selectedLanguage = '<span style="position:relative; top:2px"><img src="' . HTTPS_SERVER . DIR_WS_HTTPS_CATALOG . 'includes/languages/' .  $value['directory'] . '/images/' . $value['image'] . '" alt="' .  $value['name'] . '"></span>';
              } else {
                  $icon = 'arrow-r';
                  $datatheme = 'a';
              }
              $path = tep_mobile_link(basename($PHP_SELF), tep_get_all_get_params(array('language', 'currency', 'style')) . 'language=' . $key, $request_type);
              $optionsOutput .= '<li data-theme="' . $datatheme . '" data-icon="' . $icon . '" data-iconpos="right"><a href="' . $path . '"><img src="' . HTTPS_SERVER . DIR_WS_HTTPS_CATALOG . 'includes/languages/' .  $value['directory'] . '/images/' . $value['image'] . '" alt="' .  $value['name'] . '" class="ui-li-icon ui-corner-none">' . $value['name'] . '</a></li>';

 

You have to change all instances of HTTP to HTTPS.

Link to comment
Share on other sites

Nice Contribution. Installed without a hitch except for the Language gif images. All browsers told me that those images were non-secure on the SSL. Took forever to figure out how to resolve that.

 

In mobile/includes/modules/options.php

(around line 17)

 

reset($lng->catalog_languages);

          while (list($key, $value) = each($lng->catalog_languages)) {

              if ($language == $value['directory']) {

                  $icon = 'check';

                  $datatheme = 'b';

                $selectedLanguage = '<span style="position:relative; top:2px"><img src="' . HTTPS_SERVER . DIR_WS_HTTPS_CATALOG . 'includes/languages/' .  $value['directory'] . '/images/' . $value['image'] . '" alt="' .  $value['name'] . '"></span>';

              } else {

                  $icon = 'arrow-r';

                  $datatheme = 'a';

              }

              $path = tep_mobile_link(basename($PHP_SELF), tep_get_all_get_params(array('language', 'currency', 'style')) . 'language=' . $key, $request_type);

              $optionsOutput .= '<li data-theme="' . $datatheme . '" data-icon="' . $icon . '" data-iconpos="right"><a href="' . $path . '"><img src="' . HTTPS_SERVER . DIR_WS_HTTPS_CATALOG . 'includes/languages/' .  $value['directory'] . '/images/' . $value['image'] . '" alt="' .  $value['name'] . '" class="ui-li-icon ui-corner-none">' . $value['name'] . '</a></li>';

 

You have to change all instances of HTTP to HTTPS.

Hello @@MarcellaE,

 

Thank you! However not all pages are SSL, so I would use this version:

 	 	reset($lng->catalog_languages);
 	 	while (list($key, $value) = each($lng->catalog_languages)) {
 	 		if ($language == $value['directory']) {
 	 			$icon = 'check';
 	 			$datatheme = 'b';
				$selectedLanguage = '<span style="position:relative; top:2px"><img src="' . (($request_type=='SSL')? HTTPS_SERVER . DIR_WS_HTTPS_CATALOG : HTTP_SERVER . DIR_WS_HTTP_CATALOG) . 'includes/languages/' .  $value['directory'] . '/images/' . $value['image'] . '" alt="' .  $value['name'] . '"></span>';
 	 		} else {
 	 			$icon = 'arrow-r';
 	 			$datatheme = 'a';
 	 		}
 	 		$path = tep_mobile_link(basename($PHP_SELF), tep_get_all_get_params(array('language', 'currency', 'style')) . 'language=' . $key, $request_type); 
 	 		$optionsOutput .= '<li data-theme="' . $datatheme . '" data-icon="' . $icon . '" data-iconpos="right"><a href="' . $path . '"><img src="' . (($request_type=='SSL')? HTTPS_SERVER . DIR_WS_HTTPS_CATALOG : HTTP_SERVER . DIR_WS_HTTP_CATALOG) . 'includes/languages/' .  $value['directory'] . '/images/' . $value['image'] . '" alt="' .  $value['name'] . '" class="ui-li-icon ui-corner-none">' . $value['name'] . '</a></li>';
 	 	}

There is another SSL issue in the same file within the theme selection, $requesttype was missing in the theme link:

 	 		$path = tep_mobile_link(basename($PHP_SELF), tep_get_all_get_params(array('language', 'currency', 'style')) . 'style=' . $value, $request_type); 
 	 		$optionsOutput .= '<li data-theme="' . $datatheme . '" data-icon="' . $icon . '" data-iconpos="right"><a rel=external href="' . $path . '">' . $value . '</a></li>';

I'm preparing an update for this and other SSL and redirect fixes.

 

kind regards

Rainer

Link to comment
Share on other sites

Hello @@MarcellaE,

 

Another Modification to fix all tep_image calls on SSL pages.

In: includes/configure.php:

 

  (defined('MOBILE_SESSION') ? define('DIR_WS_IMAGES', ((getenv('HTTPS') == 'on')? HTTPS_SERVER . DIR_WS_HTTPS_CATALOG : HTTP_SERVER . DIR_WS_HTTP_CATALOG) . 'images/') : define('DIR_WS_IMAGES', 'images/'));
 

regards

Rainer

Link to comment
Share on other sites

Hi

I have a heavily modified shop. Do i have to modify the mobile files also?

 

Hello @@shafa1827,

 

Yes, all add-ons and customization which affects the public store site functionality, need to be added to the mobile pages. Of course only functionalities you wish to have on the mobile site and not design issues. For example: if you have the wishlist add-on installed on the desktop site, you can use the mobile site without it, but if you wish to have that feature on the mobile site, you need to add the code also on the correspondent mobile pages. Other add- ons may be mandatory to add to mobile.

Please read the Installation.doc and Add-On support.doc for more information. There is also an Add- On support package available with installation instructions for some of the most common Add-Ons.

 

kind regards

Rainer

Edited by raiwa
Link to comment
Share on other sites

  • 2 weeks later...

Hi Raiwa,

 

I have a problem with my search result page.

 

If I search any keywords, on the first page of the search result page, it shows:

 

http://shashinki.com/shop/mobile_advanced_search_result.php

 

Noticed that there is no KEYWORDS in the URL.

 

If I clicked on the 2nd page, it shows:

 

http://shashinki.com/shop/mobile_advanced_search_result.php?keywords=nikon&sort=2a&page=2

 

How do I add the keywords string on URL of the first advanced_search_result.php page?

 

The reason I need this is because if I clicked on the product on the first search result page and then click BACK, it shows error / missing cache, as there is nothing in that URL.

Best regards,

Koh Kho King

Link to comment
Share on other sites

Hello @@khoking,

 

Even you are using a very old version of IosC Mobile, seems to be version 5, this problem still exists in the actual version.

So thanks for the report. I'll try to fix this ASAP and will post it here when I found the solution.

 

Kind regards

Rainer

Edited by raiwa
Link to comment
Share on other sites

Hello @@khoking,

 

Here the fix:

in mobile_search.php and mobile_advanced_search.php:

find:

<?php echo tep_draw_form('quick_find', tep_mobile_link(FILENAME_ADVANCED_SEARCH_RESULT, '', 'NONSSL', false)) ?>

and change to:

<?php echo tep_draw_form('quick_find', tep_mobile_link(FILENAME_ADVANCED_SEARCH_RESULT, '', 'NONSSL', false), 'get') ?>

 

 

I'll include this in the next update, thank you.

 

Kind regards

Rainer

Edited by raiwa
Link to comment
Share on other sites

Hello there

 

I have the version iosc3_5.3 REV3 for 2.2RCA which has been on my store for some time and I wanted to make it have the same canonical tags as my main store which uses SEO URL's, I have manged to get the canonical tag dispalyed with header Tags  but i need the SEO url to show on the page and cant seem to find what files to change, I know it will be the htaccess and some other files maybe appication top, could you tell me whether its possible with this version, if not how much work would be involved updateing it to the latest version or is a start again job, which would be difficult on my working store

 

Thank you

 

david

 

David

Link to comment
Share on other sites

Hello David,

 

Contribution support V. 1.8rev2 for iOSC 5.x is the latest version which includes SEO URL support for iosc 5.3. You can download it here:

http://addons.oscommerce.com/info/8578

 

regards

Rainer

Link to comment
Share on other sites

perhaps i do not have that version of iosc as my includes application_top does not have the same info, it has

 

if (MOBILE_SITE=='True'){
                 $useragent=$_SERVER['HTTP_USER_AGENT'];
                         if(preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($useragent,0,4)))

                              
                              

                //start of code from original class file mobile_redirect.php
                {               $path = split("/" , $_SERVER['SCRIPT_NAME']);
                                $filename = $path[sizeof($path)-1];
                                $file = 'mobile_' . $filename;
                                $qstring = urldecode($_SERVER['QUERY_STRING']);
                                $SSL = ($_SERVER['HTTPS']) ? "SSL" : "NONSSL";
                                if (file_exists($file)){
                                tep_redirect(tep_href_link($file, str_replace('&', '&',$qstring), $SSL, false, false));
                                }
                //end of original
                }
   }//end if (MOBILE_SITE=='True')

David

Link to comment
Share on other sites

Hello David,

 

This looks me very much like a customized version and was never part of any of my releases since version 5.0. So I only can recommend you to download version iOSC_5_4rev2 and update this part to the standard code used there.

 

regards

Rainer

Edited by raiwa
Link to comment
Share on other sites

Hi there

 

Firstly thank you for getting back to the thread so quickly

 

It looks like I might a version closer to IOSC V2.0.c

 

While it has been working for some years it has never been perfect, but it is a funtioning store and poeple place orders through it so i am loathe to change it

 

Never the less i would like to make important changes such as canonical tags to the stores SEO URL, if i turn on the define ('SEO_ENABLED', 'false'); to true in mobile/icludes/configure.php the mobile store is not able to fuction as there are to many server redirects, so i assume it goes around in a circle

 

If this version of IOSC is indeed to old would i be better upgrading to Version 5_4-REV2 or to the latest Ver 7 on my heavily modified 2.2 RCA

 

I am not a coder but manage to struggle by with most things if the instructions are clear, my concern is breaking the mobile site installing the new one, is there a upgrade path or is it best to install from scratch or an install service, and with that in mind  I am sure i read it might be better to have the mobile site on a subdomain, ie m.mywebsiteaddress.com, what are your thoughts on that

 

Thank you

 

 

david

David

Link to comment
Share on other sites

Hello David,

 

I began developing iosc since version 5, older versions are from other contributors.

Update instructions are available since my first version 5.0 up to the actual version 7.5.5., not for older versions, as far as I remember.

However there are so many changes that it for sure would be the better choice to install a new fresh 7.5.5 version and apply the necessary customizations again. I had a look on your store and there are not so many on the public store site, admin customizations do not affect the mobile files.

 

Canonical and alternate tag support is available over Header Tag Add-on since iosc 5 for 2.2 stores, the same for SEO URLs.

Subdirectory and Subdomain installation is better considered for SEO and the reason I implemented this in iosc version 6.

 

Version 7 does the big step to implement jquery mobile.

 

However there is a huge list of many other improvements, new features and fixes. You can get an idea reading the change-log doc included in the newest version. You'll find there also detailed installation instructions and help docs for add-on integration and customization.

There is also support and instructions for the most common add-ons available in the contribution support package.

 

Commercial offers are not allowed in the public forums, you should post in the commercial support forum.

 

Kind regards

Rainer

Edited by raiwa
Link to comment
Share on other sites

Hello

 

I am installing 7.5.5 as recomended but having a issue with the configure file ( i assume ) as the links on the mobile site are going to the main site, they are not prefixed with m., i have installed on a sub domain called m the folder for which is in the main site, i have taken the liberty of including part of the config file below, i cannot see what is wrong so would appriciate a pointer,

 

define('HTTP_SERVER', 'http://www.mydomain.com');
  define('HTTPS_SERVER', 'http://m.mydomain.com');
  define('HTTPS_MOBILE_SERVER', 'https://m.mydomain.com');
  define('DIR_WS_HTTP_MOBILE', '/');
  define('DIR_WS_HTTPS_MOBILE', '/');
  (defined('MOBILE_SESSION') ? define('DIR_WS_IMAGES', ((getenv('HTTPS') == 'on')? HTTPS_SERVER . DIR_WS_HTTPS_CATALOG : HTTP_SERVER . DIR_WS_HTTP_CATALOG) . 'images/') : define('DIR_WS_IMAGES', 'images/'));
  define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/');
  (defined('MOBILE_SESSION') ? define('DIR_WS_INCLUDES', '../includes/') : define('DIR_WS_INCLUDES', 'includes/'));
//EOF Mobile

  define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');
  define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');
  define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');
  define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');
  define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');
//BOF Mobile
  define('DIR_MOBILE_IMAGES', 'images/');
  define('DIR_MOBILE_INCLUDES','includes/');
  define('DIR_MOBILE_MODULES', DIR_MOBILE_INCLUDES . 'modules/');
  define('DIR_MOBILE_CLASSES', DIR_MOBILE_INCLUDES . 'classes/');
  define('DIR_MOBILE_HEADERS', DIR_MOBILE_INCLUDES . 'headers/');
  define('DIR_MOBILE_LANGUAGES', DIR_MOBILE_INCLUDES . 'languages/');
//EOF Mobile

  //BOF Mobile
  (defined('MOBILE_SESSION') ? define('DIR_WS_DOWNLOAD_PUBLIC', HTTP_SERVER . DIR_WS_HTTP_CATALOG . 'pub/') : define('DIR_WS_DOWNLOAD_PUBLIC', 'pub/')); 
//EOF Mobile

  define('DIR_FS_CATALOG', '/home/mydomain/public_html/');
  //BOF Mobile
  define('DIR_FS_MOBILE', '/home/mydomain/public_html/m/');
//EOF Mobile

  define('DIR_FS_DOWNLOAD', DIR_FS_CATALOG . 'download/');
  define('DIR_FS_DOWNLOAD_PUBLIC', DIR_FS_CATALOG . 'pub/');
  define('DIR_MAIN_HTTP_CATALOG', '/');

David

Link to comment
Share on other sites

Hi There

 

I think your instructions are very good but i stillI have a few issues perhaps i could get advise on

 

I have seo tags 3.2.9 and SEO URLs but can not get the canical tag to show on the main site or the mobile with the new files, it does show the mobile site link as alt so it is working just no canoical, if i revert back to the old header_tags file the canoical shows on the main site as it should, I have reinstalled everything twice but to no avail.

 

The mobile site shows with styles on PC with old version of explorer but shows as text in chrome and on andriod mobile, i assume this is something to do with CSS needing to be activated somewhere, or maybe the path is wrong.

 

I loaded onto a subdomain, i didnt realse I would need a different SSL cert for the subdomain, if the mobile site is not using SSL and the main site does would it cause any problems tranfering data, I will look into the new cert or maybe the original can be varied but would have liked to have it all up and running first

 

I belive i have On the Fly Thumbnailer with Caching Option, will this be suitble for the mobile site, the images are showing in the product pages on the PC although they do look big but not on  the mobil yet

 

Thats it for a Mo, off to bed now

David

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...