Jump to content

pixclinic

Members
  • Content count

    713
  • Joined

  • Last visited

Everything posted by pixclinic

  1. Hi everyone Our site uses up to two "extra shipping" modules (i.e. ON TOP of the selected shipping method selected by the customer, some products are forced to ship UPS 2 DAY or NEXT DAY, depending on their nature. So when such items are in the cart, extra shipping modules kick in and display these options in addition of the normal choices, and we ship in two separate boxes by splitting the perishable and non perishable. This is what an order total looks like when a customer has perishable items along with non perishable ones: Sub-Total: $32.86 United States Postal Service : $7.90 Temperature Controlled Products: UPS Next Day Air (0.95lbs.): $36.30 Total: $77.06 Our issue: Despite everything being viewed correctly on the Paypal Express page that itemizes the shopping cart (see attachment), the extra shipping module amount (the $36.30 line) is not being paid to us. Paypal however handles it as an item in the shopping cart, displaying its name and price, but the value of the option is not added to the total that the customer pays. Thank you for your input on this.
  2. Wondering if anybody was working on a "Reponsive Design" version? Would be so much simpler than this redirecting version that seems to be quite demanding in terms of scalability. I'm ready to start working on such a version myself, just wondering if anybody had something in the works... Thanks!
  3. pixclinic

    Who's Online Enhancement 1.4

    yahalimu Removing the map calling did not improve anything on my end... any suggestions?
  4. pixclinic

    Who's Online Enhancement 1.4

    anyone experiencing EXTREMELY slow page load the first time the url is reached (idoes not happen after that, the refresh are fast...) I'm suspecting the connexion to api.ipinfodb.com? There always has been a little delay compared to the "non-flag" version, but it became worse lets say... in 2013 Thank you for your input!
  5. pixclinic

    ULTIMATE Seo Urls 5 - by FWR Media

    I looked for an answer, saw a discussion about this, but no real fix: how to change the apostrophe to a dash or underscore so the url doesn't look like www.domain.com/the-product-isn39t-great.html but instead: www.domain.com/the-product-isnt-great.html The apostrophe not being converted because it is in fact coded as &39; the SEO mod strips the ampersand and semi colon character but leaves the 3 and 9 as they "look normal" How do we tweak the replace to filter these? Thank you for your input on this.
  6. pixclinic

    Who's Online Enhancement 1.4

    Does anybody have the show map working with the Google Maps API V3. (V2 is deprecated and wont work)? the whos_online part calling the API: <?php echo '<script src="http://maps.google.com/maps?file=api&v=2&key=' . GOOGLE_MAPS_KEY . '" type="text/javascript"></script>'; ?> <script type="text/javascript"> var map; var geoXml; var toggleState = 1; function initialize() { if (GBrowserIsCompatible()) { //Angel - Arreglo para que salgan las burbujas en el Mapa del Mundo //geoXml = new GGeoXml("<?php //echo HTTP_CATALOG_SERVER . "/visitors_georss.php";?>"); geoXml = new GGeoXml("<?php echo HTTP_CATALOG_SERVER . DIR_WS_CATALOG . "visitors_georss.php";?>"); map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(36,2), 1); map.addControl(new GLargeMapControl()); map.addControl(new GLargeMapControl()); map.addOverlay(geoXml); } } </script> needs to be changed to <?php echo '<script src="http://maps.googleapis.com/maps/api/js?key=' . GOOGLE_MAPS_KEY . '&sensor=true" type="text/javascript"></script>'; ?> <script type="text/javascript"> function initialize() { var mapOptions = { center: new google.maps.LatLng(<HERE WE NEED THE LATITUDE>,<HERE WE NEED THE LONGITUDE>), zoom: 8, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); } </script> Thank you for your input.
  7. from viewing the source now, I can tell that you are using the old header where the images were called via css as backgrounds. the id="headerShop" is missing in your first table cell
  8. When viewing your shop, all images are displaying fine, so I guess you found a fix.
  9. open a page of your store in a browser, do a right click on the broken image and open in a new window. Look at the structure of the URL you got and you will find out what's wrong with the image linking.
  10. The reason is an error in the document construction in the checkout_shipping module that replaces tables by DIVs. a DIV is missing or closed to early or misplaced if I remember correctly. Do a "view source" once the page is rendered, you will see that the DIV tags are not balanced properly this is what works for me: <?php require_once('mobile/includes/application_top.php'); require(DIR_WS_CLASSES.'http_client.php'); // if the customer is not logged on, redirect them to the login page if (!tep_session_is_registered('customer_id')) { $navigation->set_snapshot(); tep_redirect(tep_mobile_link(FILENAME_LOGIN, '', 'SSL')); } // if there is nothing in the customers cart, redirect them to the shopping cart page if ($cart->count_contents() < 1) { tep_redirect(tep_mobile_link(FILENAME_SHOPPING_CART)); } //BOF WA State Tax Modification if (tep_session_is_registered('wa_dest_tax_rate')) tep_session_unregister('wa_dest_tax_rate'); //EOF WA State Tax Modification // if no shipping destination address was selected, use the customers own address as default if (!tep_session_is_registered('sendto')) { tep_session_register('sendto'); $sendto = $customer_default_address_id; } else { // verify the selected shipping address if ( (is_array($sendto) && empty($sendto)) || is_numeric($sendto) ) { $check_address_query = tep_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customer_id . "' and address_book_id = '" . (int)$sendto . "'"); $check_address = tep_db_fetch_array($check_address_query); if ($check_address['total'] != '1') { $sendto = $customer_default_address_id; if (tep_session_is_registered('shipping')) tep_session_unregister('shipping'); } } } require(DIR_WS_CLASSES . 'order.php'); $order = new order; // register a random ID in the session to check throughout the checkout procedure // against alterations in the shopping cart contents if (!tep_session_is_registered('cartID')) tep_session_register('cartID'); $cartID = $cart->cartID; // if the order contains only virtual products, forward the customer to the billing page as // a shipping address is not needed if (($order->content_type == 'virtual') || ($order->content_type == 'virtual_weight') ) { // Edited for CCGV if (!tep_session_is_registered('shipping')) tep_session_register('shipping'); $shipping = false; $sendto = false; tep_redirect(tep_mobile_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } $total_weight = $cart->show_weight(); $total_count = $cart->count_contents(); // load all enabled shipping modules require(DIR_WS_CLASSES . 'shipping.php'); $shipping_modules = new shipping; if ( defined('MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING') && (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') ) { $pass = false; switch (MODULE_ORDER_TOTAL_SHIPPING_DESTINATION) { case 'national': if ($order->delivery['country_id'] == STORE_COUNTRY) { $pass = true; } break; case 'international': if ($order->delivery['country_id'] != STORE_COUNTRY) { $pass = true; } break; case 'both': $pass = true; break; } $free_shipping = false; if ( ($pass == true) && ($order->info['total'] >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER) ) { $free_shipping = true; include(DIR_WS_LANGUAGES . $language . '/modules/order_total/ot_shipping.php'); } } else { $free_shipping = false; } // process the selected shipping method if ( isset($HTTP_POST_VARS['action']) && ($HTTP_POST_VARS['action'] == 'process') ) { if (!tep_session_is_registered('comments')) tep_session_register('comments'); if (tep_not_null($HTTP_POST_VARS['comments'])) { $comments = tep_db_prepare_input($HTTP_POST_VARS['comments']); } if (!tep_session_is_registered('shipping')) tep_session_register('shipping'); if ( (tep_count_shipping_modules() > 0) || ($free_shipping == true) ) { if ( (isset($HTTP_POST_VARS['shipping'])) && (strpos($HTTP_POST_VARS['shipping'], '_')) ) { $shipping = $HTTP_POST_VARS['shipping']; list($module, $method) = explode('_', $shipping); if ( is_object($$module) || ($shipping == 'free_free') ) { if ($shipping == 'free_free') { $quote[0]['methods'][0]['title'] = FREE_SHIPPING_TITLE; $quote[0]['methods'][0]['cost'] = '0'; } else { $quote = $shipping_modules->quote($method, $module); } if (isset($quote['error'])) { tep_session_unregister('shipping'); } else { if ( (isset($quote[0]['methods'][0]['title'])) && (isset($quote[0]['methods'][0]['cost'])) ) { $shipping = array('id' => $shipping, 'title' => (($free_shipping == true) ? $quote[0]['methods'][0]['title'] : $quote[0]['module'] . ' (' . $quote[0]['methods'][0]['title'] . ')'), 'cost' => $quote[0]['methods'][0]['cost']); tep_redirect(tep_mobile_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } } } else { tep_session_unregister('shipping'); } } } else { $shipping = false; tep_redirect(tep_mobile_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } } // get all available shipping quotes $quotes = $shipping_modules->quote(); // if no shipping method has been selected, automatically select the cheapest method. // if the modules status was changed when none were available, to save on implementing // a javascript force-selection method, also automatically select the cheapest shipping // method if more than one module is now enabled if ( !tep_session_is_registered('shipping') || ( tep_session_is_registered('shipping') && ($shipping == false) && (tep_count_shipping_modules() > 1) ) ) $shipping = $shipping_modules->cheapest(); require(DIR_WS_LANGUAGES . $language . '/checkout_shipping.php'); $breadcrumb->add(NAVBAR_TITLE_1, tep_mobile_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); $breadcrumb->add(NAVBAR_TITLE_2, tep_mobile_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); require(DIR_MOBILE_INCLUDES . 'header.php'); $headerTitle->write(); ?> <div id="iphone_content"> <?php echo tep_draw_form('checkout_address', tep_mobile_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')) . tep_draw_hidden_field('action', 'process'); ?> <div id="checkout_shipping"> <div id="bouton"><input type="submit" value="<?php echo IMAGE_BUTTON_CONTINUE; ?>"></div> <h1><?php //echo TABLE_HEADING_SHIPPING_ADDRESS; ?></h1> <div id="ship_add"> <?php echo tep_address_label($customer_id, $sendto, true, ' ', '<br>'); ?> <?php echo '<a href="' . tep_mobile_link(FILENAME_CHECKOUT_SHIPPING_ADDRESS, '', 'SSL') . '">' . IMAGE_BUTTON_CHANGE_ADDRESS . '</a>'; ?> </div> <hr /> <div> <?php if (tep_count_shipping_modules() > 0) { ?> <h1><?php echo TABLE_HEADING_SHIPPING_METHOD; ?></h1> <?php if (sizeof($quotes) > 1 && sizeof($quotes[0]) > 1) { ?> <?php //echo TEXT_CHOOSE_SHIPPING_METHOD; ?> <?php } elseif ($free_shipping == false) { ?> <?php echo TEXT_ENTER_SHIPPING_INFORMATION; ?> <?php } if ($free_shipping == true) { ?> <?php echo $quotes[$i]['icon']; ?> <?php echo FREE_SHIPPING_TITLE; ?> <?php echo sprintf(FREE_SHIPPING_DESCRIPTION, $currencies->format(MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER)) . tep_draw_hidden_field('shipping', 'free_free'); ?> <?php } else { $radio_buttons = 0; for ($i=0, $n=sizeof($quotes); $i<$n; $i++) { ?> <div id="module"> <?php echo $quotes[$i]['module']; ?></b> <?php if (isset($quotes[$i]['icon']) && tep_not_null($quotes[$i]['icon'])) { echo $quotes[$i]['icon']; } ?> <?php if (isset($quotes[$i]['error'])) { ?> <?php echo $quotes[$i]['error']; ?> <?php } else { for ($j=0, $n2=sizeof($quotes[$i]['methods']); $j<$n2; $j++) { // set the radio button to be checked if it is the method chosen $checked = (($quotes[$i]['id'] . '_' . $quotes[$i]['methods'][$j]['id'] == $shipping['id']) ? true : false); /* if ( ($checked == true) || ($n == 1 && $n2 == 1) ) { echo '<tr id="defaultSelected" class="moduleRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "\n"; } else { echo '<tr class="moduleRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "\n"; } */ if ( ($n > 1) || ($n2 > 1) ) { ?> <div id="np-module"> <?php echo tep_draw_radio_field('shipping', $quotes[$i]['id'] . '_' . $quotes[$i]['methods'][$j]['id'], $checked); ?> <?php echo $currencies->format(tep_add_tax($quotes[$i]['methods'][$j]['cost'], (isset($quotes[$i]['tax']) ? $quotes[$i]['tax'] : 0))); ?> <?php echo $quotes[$i]['methods'][$j]['title']; ?> </div> <?php } else { ?> <?php echo $currencies->format(tep_add_tax($quotes[$i]['methods'][$j]['cost'], $quotes[$i]['tax'])) . tep_draw_hidden_field('shipping', $quotes[$i]['id'] . '_' . $quotes[$i]['methods'][$j]['id']); ?> <?php echo $quotes[$i]['methods'][$j]['title']; ?> <?php } $radio_buttons++; } } } } ?> <?php } ?> </div> </div> </div> <div id="bouton"><input type="submit" value="<?php echo IMAGE_BUTTON_CONTINUE; ?>"></div> </div> </form> <?php require(DIR_MOBILE_INCLUDES . 'footer.php'); ?> </div>
  11. @@Rainer I did not receive any email from you. Nothing in my spam folder either... Thanks
  12. @@Rainer Please confirm you received my email with files thx
  13. I reinstalled from scratch when I upgraded to the new IOSC (the one running in the top level directory) and my mobile_catalogue.php code is the correct one that you posted above ... I'm still scratching my head :-) The footer redirects correctly when SEO URL is turned off though...
  14. I do have r205 running, installed in in November 2011...
  15. @@raiwa footer redirect code: if (substr(basename($PHP_SELF), 0, 15) != 'mobile_checkout') { global $classic_site; if(isset($classic_site)) $url = $classic_site; else { $url = str_replace('mobile_', '', $_SERVER['REQUEST_URI']); } $url .= (strpos($url,'?') > 0) ? '&redirectCancelled=true' : '?redirectCancelled=true'; echo TEXT_MOBILE_VIEW . TEXT_SHOW_VIEW_2 . ' | ' . TEXT_SHOW_VIEW_1 . '<a href="' . $url . '">' . TEXT_CLASSIC_VIEW . TEXT_SHOW_VIEW_2. '</a>'; } application_top code: //BEGIN : MOBILE iOSC REDIRECT_SCRIPT if (MOBILE_SITE=='True'){ $url_basename = basename($PHP_SELF); if ($url_basename == 'index.php') { if (USU5_ENABLED == 'true'){ if (strpos($_SERVER['REQUEST_URI'], '-c-') == FALSE) { $mobile_url = $_SERVER['REQUEST_URI']; $url_pagename = basename($PHP_SELF); $mobile_site = str_replace($url_pagename, 'mobile_' . $url_pagename, $mobile_url); } else { $info_box_replace = array('?infoBox=0', '?infoBox=1', '?infoBox=2', '?infoBox=3', '?infoBox=4', '?infoBox=5', '?infoBox=6', '?infoBox=7', '?infoBox=8', '?infoBox=9'); $url = str_replace($info_box_replace, '', ($_SERVER['REQUEST_URI'])); $url_category_ids = str_replace('-', '', strrchr ($_SERVER['REQUEST_URI'] , '-c-')); $url_category_id = str_replace('_', '', strrchr ($_SERVER['REQUEST_URI'] , '_')); $url = str_replace($url_category_ids, '', $url); $mobile_site = str_replace('-c-', '-mc-', $url) . $url_category_id; } } else { if (strpos($_SERVER['REQUEST_URI'], 'cPath=') == FALSE) { $mobile_site = 'mobile_index.php'; } else { $info_box_replace = array('infoBox=0&', 'infoBox=1&', 'infoBox=2&', 'infoBox=3&', 'infoBox=4&', 'infoBox=5&', 'infoBox=6&', 'infoBox=7&', 'infoBox=8&', 'infoBox=9&'); $url = str_replace($info_box_replace, '', $_SERVER['REQUEST_URI']); $url_category_ids = str_replace('cPath=', '', strrchr ($_SERVER['REQUEST_URI'] , 'cPath=')); $url_category_id = (strpos($url_category_ids,'_') > 0) ? str_replace('_', '', strrchr ($_SERVER['REQUEST_URI'] , '_')) : str_replace('cPath=', '', strrchr ($_SERVER['REQUEST_URI'] , 'cPath=')); $url = str_replace($url_category_ids, '', $url); $mobile_site = str_replace('index.php', 'mobile_catalogue.php', $url) . $url_category_id; } } if ($mobile_site == DIR_WS_HTTP_CATALOG){ $mobile_site .= 'mobile_index.php'; } } if ($url_basename == 'product_info.php') { if (USU5_ENABLED == 'true'){ $mobile_site = str_replace('-p-', '-mp-', $_SERVER['REQUEST_URI']); } } if ($url_basename == 'product_reviews.php') { if (USU5_ENABLED == 'true'){ $mobile_site = str_replace('-pr-', '-mpr-', $_SERVER['REQUEST_URI']); } } if ($url_basename == 'featured_products.php') { $mobile_site = str_replace('featured_products.php', 'mobile_index.php', $_SERVER['REQUEST_URI']); } if ($url_basename == 'recently_viewed.php') { $mobile_site = str_replace('recently_viewed.php', 'mobile_index.php', $_SERVER['REQUEST_URI']); } if(isset($mobile_site)) { $mobile_url = $mobile_site; } else { $mobile_url = $_SERVER['REQUEST_URI']; $url_pagename = basename($PHP_SELF); $mobile_url = str_replace($url_pagename, 'mobile_' . $url_pagename, $mobile_url); } define(DIR_MOBILE_CLASSES , 'mobile/includes/classes/'); require(DIR_MOBILE_CLASSES . 'mobile_redirect.php'); $mobileRedirect = new mobileRedirect; } //END : MOBILE iOSC REDIRECT_SCRIPT also in the page modules add ons, I had to remove a parameter of the link function in all 3 files in order to make the mod to work and match the way this function is built in other page modules - they don't have it (I removed the $target_language)code, I don't think this is the issue ) // ->separateUriText( $this->linktext( $link_text ) ), $this->dependencies[$this->key]['marker'], $this->keys_index[$this->key], $target_language_code ) ); ->separateUriText( $this->linktext( $link_text ) ), $this->dependencies[$this->key]['marker'], $this->keys_index[$this->key]) ); also, I added a line in my htaccess to fix the mobile_ issue: redirect 301 /mobile_ http://www.mysite.com/mobile whether it's there or not, the redirect still doesn't work. Thank you for your input
  16. @@raiwa Reviewed all installation but could not find anything missing.... :-( Link to the mobile site: http://www.thefrenchybee.com/amora-mustard-moutarde-de-dijon-fine-french-strong-dijon-mustard-155-oz-large-size-mp-2033.html Also, I could never the ajax to work (yes, I set AJAX_ENABLED to true in configure.php). The catalogue page is briefly displayed then refreshes to mobile_index. My ajax was working fine with the old version that was in its own directory Thanks!
  17. @@Rainer Thanks, I did not see that there was an addon :-) Only little issue now, my "CLASSIC VIEW" in my iosc footer doesn't redirect anymore (except from mobile_index.php) a rollover on the link shows that the additional markers mp or mc are still there, it's self linking. Thank you for your input!
  18. PEOPLE WITH THIS MOD AND ULTIMATE SEO URL (which everybody should have...) visitors coming from a google results page pointing to a page with a URL changed by a mod_rewrite (by any SEO url module) cannot land directly on the product page (instead they are taken to a mobile contact us page, which leads to extremely high bounce rates http://www.my.com/seo-name-of-the-product-p-3857.html (which is what has been indexed) does not redirect to http://www.my.com/mobile_product_info.php?product_info=3857 Try it on your site: do a Google search for one of your products that shows up in an organic ranking page (make sure your switch to a mobile user agent) click on the link of your product and let me know if your are properly redirected to the mobile product page. Let me know if you have any suggestions. Thanks!
  19. pixclinic

    ULTIMATE Seo Urls 5 - by FWR Media

    I'm still having this issue after several weeks of testing settings: Every morning, all my admin settings go back to the default ones. I need my uri format to stick to rewrite (Google started indexing standard uri, I don't want that ) Please let me know if you experienced similar behavior. Thank you!
  20. pixclinic

    ULTIMATE Seo Urls 5 - by FWR Media

    problem solved by switching the cache system from file to mySQL... strange
  21. pixclinic

    ULTIMATE Seo Urls 5 - by FWR Media

    Hi Folks I hope I'm not posting an already reported issue. Upgraded from Chemo's 2.1 on a 2.2 shop Everything is working fine except that every day at midnight, my settings are set back to default (the rewrite goes back to standard, the short words back to 2, etc...) Please let me know if you experienced similar issue and how you fixed it. Thanks!
  22. No luck with this. I implemented an ajax updater with prototype, where the external file actually renders the entire buttons portion. The problem now is that these buttons require external js files from twitter, facebook and linkedin to be rendered. Nomatter where I place the call to the .js scripts ( in the ajax target file or in my originating file), itdoesn't work... So I have to stick for now to my not-so-elegant solution, which seems to be working just fine. To see this Mobile site: The Frenchy Bee
  23. Hi Everyone Even though my topic doesn't sound like an SEO URL one, it IS directly related ;-) Here it is: I'm implementing Facebook "LIKE" & "SEND", twitter and Linkedin buttons on my mobile app, which is in a subfolder of my catalog I can't have SEO URL running on my mobile app (using Ajax), I deactivated it in my /mobile folder. However, I want my social buttons there. These buttons are also present on each product nopn-mobile page, and are dynamically generated with the product ID. I use the Open Graph protocol and its META tags to provide the product URL, image, etc.. My challenge is to retrieve the SEO URL from there to build the correct URLs. - In my main app, my buttons are built with the SEO link - In my mobile app I use the product_info.php?products_id=xxx method which gives different button counts, because the originating URLs are not the same for FB, TW, and LI and I don't want that. I want my mobile app to be able to create the same SEO url as my main app Long story short: How to create an SEO tep_href_link from my mobile folder? any attempt to use the SEO class from my subfolder redirects to the non-seo link? I implemented a dirty fix for now, using some str_replace with the URL encode, but I would like something more reliable. Thank you for your input!
  24. Here is the fix for this issue: in mobile_checkout_confirmation.php after line 95: if (is_array($payment_modules->modules)) { insert: echo $payment_modules->process_button(); so the section will look like : <table border="0" width="100%" cellspacing="0" cellpadding="0"> <?php if (is_array($payment_modules->modules)) { echo $payment_modules->process_button(); if ($confirmation = $payment_modules->confirmation()) { ?> <tr> <td class="main"><b><?php echo HEADING_PAYMENT_INFORMATION; ?></b></td> </tr> <tr> This allows the payment module to render and pass the hidden fields containing the CC information. That's it. Kept me busy for a week :-) PLEASE NOTE: It's up to you to decide wether or not you might want to save CC data on your server. There is a contribution that you might want to add to your store that encrypts data via MD5 at: http://www.oscommerce.com/community/contributions,4359 Strongly recommended if you use the cc module.
×