Using FoxyCart without the Thickbox (was: Mini-cart not showing in Safari)

vossavantvossavant Member
in Bugs & Feature Requests edited January 2010
Hi guys,

I've looked in the forum for Safari related issues and this thread appears to be the closest, but since I rarely use Safari I'm clueless as to how to get the developer console to appear for diagnosis.

In Safari, the minicart never shows. Well, maybe it's not a minicart, but here is the code I'm using to call it:
<a href="https://store.foxycart.com/cart?cart=view">Your basket has <span id="fc_quantity">0</span> items ($<span id="fc_total_price">0.00</span>)</a>

I've made sure foxycart_includes is called before any other jQuery. Sorry in advance if this has already been addressed.

The store is at this URL. Add something to your basket, then go back and browse through any category and you should see the cart contents in the upper left of the page.
Comments
  • brettbrett FoxyCart Team
    I think the issue is with your session handling. The problem is that you're not using the .foxycart class on your forms, so the automatic session handling between your domain and your FC domain isn't happening.

    The solution is either to add the class (and then strip the thickbox event so you maintain your standalone cart) (easier), copy the FoxyCart js to add the session to the forms without the .foxycart (harder), or get a custom subdomain (easier but not free) which will get around these issues as well.

    Let us know which approach you'd like to take and we'll help out.
  • When I click on the "View Cart" link ("https://store.foxycart.com/cart?cart=view";) from any of my HTML pages hosted on my server the information shows the cart template I uploaded via admin inside a ThickBox. BUT if I click on secure page hosted by FoxyCart it works perfectly embedded in the cart template.

    1.) Go to http://www.jmbjerky.com/conceptual/index.html
    2.) On the top right of the webpage you will see a status box.
    3.) Click on the "View Cart" link.
    4.) It pops up with the thickbox'd cart view with the template inside that I upload/updated.

    I do not want the thickbox'd cart view. I want to have the cart view to be the template uploaded. Just like this.

    1.) Go to http://www.jmbjerky.com/conceptual/index.html
    2.) On the top right of the webpage you will see a status box.
    3.) Click on the "Check Out" link, let the page load.
    4.) THEN click on the "View Cart: link.

    You will see the "View Cart" inside the template I upload from the admin area. This is what I want.
  • mfoisset, don't give your view cart link a class of FoxyCart if you don't want it to come up in the thickbox.
  • brettbrett FoxyCart Team
    @bjbk, the issue is that without the class .foxycart, it won't get the fcsid value passed around, so it can get a little weird.

    That said, @mfoisset, @bjbk's right. Just remove the foxycart class and that'll get you 90% of the way to what you want.
  • brettbrett FoxyCart Team
    Huh... in looking into this issue I think I've discovered a bug (kind of) that we've had forever. Interesting.

    In any case, if you want to accomplish a thickbox-free cart, the easiest thing to do is _not_ call the foxycart_includes.js file, but instead call the raw files you need. Specifically, foxycart.js and jquery.

    If you're on v060, it'd look like this:
    	<script src="https://example.foxycart.TLD/v/0.6.0/raw/jquery-1.3.2.js"; type="text/javascript" charset="utf-8"></script>
    	<script src="https://example.foxycart.TLD/v/0.6.0/raw/foxycart.js"; type="text/javascript" charset="utf-8"></script>
    
    INSTEAD OF the foxycart_includes.js call you have already. That should get you what you need without the thickbox. Note that you DO have to use the foxycart class on your links and forms still. That's what'll allow the session data to be passed back and forth.

    We're exploring options to make these types of things a little easier by providing different versions of the foxycart_includes, but for now this is how it is.
  • brettbrett FoxyCart Team
    In case anybody's curious:
    - You KEEP the "foxycart" class on your links and forms.
    - You DON'T KEEP the "foxycart_includes.js" file. You replace it with the other two files.

    As far as creating a standalone cart (not designed to be in the thickbox) you can customize your cart to your heart's content. Check the #2 and #3 screencasts here for info:
    http://wiki.foxycart.com/screencasts
  • Hey Brett I imagine I can throw the cart into another type lightbox/modal box to better match my site by using the raw files instead of the foxycart_includes files correct? That could help me a lot on the redesign I'm currently doing.

    Additionally, is your version of jQuery modified or can I just use my own, or rather google's jQuery?

    Thanks.
  • vossavantvossavant Member
    edited January 2010
    Brett,

    Would love to do option 1 (add the classes and strip the thickbox). Running v051 so not sure the "bug fix" discussed by Brett is relevant. I tried it in case, but no avail. Adding the class still didn't fix the issue in Safari. Worst case I'll ignore the browser since it doesn't have a high market share.

    EDIT: Additionally, I get this error when trying to click "confirm order" at checkout (but only in Safari):

    Error: There was an error processing your payment: Line item 2 is invalid. (Response Reason Code: 270)
  • brettbrett FoxyCart Team
    edited January 2010
    @jitpal: Yes, you can stick that iframe in anything, but you need to make sure you're passing the session around properly. Let us know if you need help.

    The jQuery we use is unmodified, fyi.

    @vossavant: Can you provide a link to what's not working?
    As far as the reason response code, [EDITED. SEE LUKE'S NOTE BELOW].)
  • lukeluke FoxyCart Team
    @vossavant: We recently made some improvements to our authorize.net integration that fixes that bug so you should probably upgrade.
  • Hey Brett, thanks for the tips on lowering my site's overall footprint and keeping the cart consistant with the other modal windows I was using. After some basic testing, things seem to be working correctly. Any thing I should particularly look out for in terms of making sure things are working correctly? Thanks.
  • brettbrett FoxyCart Team
    @jitpal: Make sure the sessions are being handled correctly. Check the settings to allow or deny 3rd party cookies and test in IE, FF, and Saf. Otherwise you should be fine, but definitely try clearing your cookies for the domain and trying a few times in different browsers with different settings.
Sign In or Register to comment.