Re: One-Page Checkout [Support Thread]
Quote:
Originally Posted by
lat9
I've just submitted v1.3.0 of
One-Page Checkout to the
Zen Cart Plugins for review; I'll post back here when it's available there for download.
That release contains the changes associated with the following issues; details are present in the plugin's
GitHub repository:
#64: Reduce customer confusion; submit button now reads either "Review Order" or "Confirm Order"
#87: Add configuration switch to enable/disable "Shipping=Billing" feature.
#88: Add comments around "main" blocks to make it easier for stores to re-arrange.
#89: Document the "ozPost" shipping method's interoperation.
#90: Checkout-flow standardization, for payment-method interoperability.
#91: Move payment method list that requires confirmation to a configurable setting.
#92: Update core-file overwrites for Zen Cart versions prior to 1.5.5b.
#93: Always display at least one of the submit buttons (follow-on to #64).
#94: Add checkout-alternate for no-script and/or script-error conditions.
v1.3.0 is now available for download from the plugins.
Re: One-Page Checkout [Support Thread]
Quote:
Originally Posted by
lat9
@frank18, it appears that the site's Google tracking script is not playing nice with OPC:
Code:
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-xxxxx-1");
pageTracker._trackPageview();
} catch(err) {}</script>
More investigation required ...
I replaced the Google tracking script to eliminate document.write but still have same issue.
Re: One-Page Checkout [Support Thread]
Interesting that document.write is still used in the latest ZC 1.5.5e in includes/templates/template_default/common/html_header.php, around lines 123-124
Code:
<script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript type="text/javascript" src="//code.jquery.com/jquery-1.12.0.min.js"%3E%3C/script%3E'));</script>
<script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript type="text/javascript" src="<?php echo $template->get_template_dir('.js',DIR_WS_TEMPLATE, $current_page_base,'jscript'); ?>/jquery.min.js"%3E%3C/script%3E'));</script>
but a Google search for "alternative to document.write" returns umpteen documents stating that document.write is an outdated and even bad way to use it.
Re: One-Page Checkout [Support Thread]
Quote:
Originally Posted by
frank18
Interesting that document.write is still used in the latest ZC 1.5.5e in includes/templates/template_default/common/html_header.php, around lines 123-124
Code:
<script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript type="text/javascript" src="//code.jquery.com/jquery-1.12.0.min.js"%3E%3C/script%3E'));</script>
<script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript type="text/javascript" src="<?php echo $template->get_template_dir('.js',DIR_WS_TEMPLATE, $current_page_base,'jscript'); ?>/jquery.min.js"%3E%3C/script%3E'));</script>
but a Google search for "alternative to document.write" returns umpteen documents stating that document.write is an outdated and even bad way to use it.
Yes. It was still somewhat in vogue when that template was initially created. Are you suggesting it should be ripped out during a "point release" and not wait for a "major version release"?
Keep in mind that the majority of people who have contributed templates or who google for help with pretty much any javascript-driven stuff are gonna find or use outdated methods ... and most won't have a clue how to use many of the so-called "better" methods.
Furthermore, you do realize that the code you're referring to is ONLY a catch-all in case the CORRECT loading of jquery hasn't already happened earlier. Those two script lines should NEVER trigger anything if the template is working as designed out of the box
Re: One-Page Checkout [Support Thread]
Quote:
Originally Posted by
DrByte
Yes. It was still somewhat in vogue when that template was initially created. Are you suggesting it should be ripped out during a "point release" and not wait for a "major version release"?
Keep in mind that the majority of people who have contributed templates or who google for help with pretty much any javascript-driven stuff are gonna find or use outdated methods ... and most won't have a clue how to use many of the so-called "better" methods.
Furthermore, you do realize that the code you're referring to is ONLY a catch-all in case the CORRECT loading of jquery hasn't already happened earlier. Those two script lines should NEVER trigger anything if the template is working as designed out of the box
Thanks Doc, we are just trying to get errors with OPC fixed as per lat9's post #470.
Eliminated one possible source, namely the Google Analytics issue but still investigating the other in that post.
Re: One-Page Checkout [Support Thread]
Quote:
Originally Posted by
frank18
I replaced the Google tracking script to eliminate document.write but still have same issue.
Thanks for trying that, Frank. I also noticed that you're using jQuery 1.12.0 while my test site was using 2.1.4; unfortunately, downleveling the jQuery version did not lead me to replication of the site's interoperability issue.
Re: One-Page Checkout [Support Thread]
Whenever using jQuery 1.12.x or 2.2.x I always advocate to also use jQuery Migrate which helps with backwards capability; ie. JS code that needs an earlier version of jQuery to work properly. It is a shim that is most handy. Save it on your hosting account though as calling it locally is faster.
Re: One-Page Checkout [Support Thread]
Quote:
Originally Posted by
Website Rob
Whenever using jQuery 1.12.x or 2.2.x I always advocate to also use
jQuery Migrate which helps with backwards capability; ie. JS code that needs an earlier version of jQuery to work properly. It is a shim that is most handy. Save it on your hosting account though as calling it locally is faster.
Thanks, I'll keep that in mind ... although I'm not sure it applies in the current case as I'm able to checkout with OPC using either jQuery 1.12.x or 2.1.4.
Re: One-Page Checkout [Support Thread]
Quote:
Originally Posted by
lat9
Thanks, I'll keep that in mind ... although I'm not sure it applies in the current case as I'm able to checkout with OPC using either jQuery 1.12.x or 2.1.4.
As you are someone who checks their code beforehand I'm sure your code is not the problem. :smile:
Where I found the jQuery Migrate to be very helpful is when old custom code or outdated modules are being used, which can be difficult to find / correct on errors. Not saying that is that case here either but Migrate is now a tool I use without even thinking about it.
Re: One-Page Checkout [Support Thread]
Quote:
Originally Posted by
frank18
... we are just trying to get errors with OPC fixed as per lat9's post #470.
Eliminated one possible source, namely the Google Analytics issue but still investigating the other in that post.
Ok, problem solved.
This morning I decided to revive the local clone of this site so I could play with various scenarios including deleting files at will without interupting a live site.
Long story short, on the local clone I had a few more files for Zen Lightbox. Found out that things started to work after deleting ../jscript/jquery-1.12.0.min.js and ../jscript/jquery.min.js. A peek at the source showed the output of ../jscript/jscript_zen_lightbox.php including a call for jquery-1.11.3.min.js - and the lightbulb went off!!! Gotcha, bugger!!
So made all look the same on the live site (deleting and modifying a few files) and bingo, OPC was up and running. As I suspected from the outset, there had to be a clash of some jscripts. This was not the case when that site had OPC 1.2.0 running....