Customizing your template is easier than you might think. If there's one takeaway from this page, it should be that FoxyCart's AutoMagiCache makes getting a customized template easy. Really, we promise. No template language to learn. Just your own HTML and CSS, securely cached. So don't be afraid, and do customize your template!
Setting up a customized checkout template in FoxyCart is about as easy as it can get, thanks to AutoMagiCache. But it's also radically different than you're probably expecting. Here's a quick guide to setting up your template to seamlessly integrate FoxyCart into your existing site design.
The idea here is that you're going to create a page on your site with “placeholders” where the FoxyCart functionality will go. You should know enough HTML and CSS to be comfortable editing code in order to make this happen, though if you're still learning and are using a WYSIWYG like Dreamweaver the basic ideas still apply. Once this page is created and uploaded/published on your site, you'll enter that URL into your FoxyCart admin, and FoxyCart will grab your code, work some magic (seriously), you'll be good to go.
Nearly every piece of HTML that FoxyCart presents to your customers is configurable in a template for your store. There are individual templates for:
While you can certainly use the default templates, we will see just how easy it is to use your own site's design for your FoxyCart templates.
If you don't want to bother with the technical details yet, take four and a half minutes to watch an explanation of AutoMagiCache in action. (Thanks to our good friend at My619.com for the screencast.)
<flashplayer width=962 height=721>file=http://static.www.foxycart.com/video/screencasts/checkout_template_creation2.flv</flashplayer>
cart
placeholder before the checkout
placeholder, but you don't need to display the cart
on your checkout page if you don't want to. (It's probably a good idea though.)^^cart^^
^^checkout^^
</head>
tag:<link rel="stylesheet" href="https://^^store_domain^^/themes/standard/styles.css" type="text/css" media="screen" charset="utf-8" />
<link rel="stylesheet" href="https://^^store_domain^^/themes/text/styles.css" type="text/css" media="screen" charset="utf-8" />
http://YOURDOMAIN.foxycart.com/cart?name=blah&price=10&cart=checkout
What follows is a brief recommended approach to advanced template customizations, followed by a two part screencast series illustrating the technique.
This tutorial requires:
foxycart.com
will automatically be updated when you change versions.Watch the screencasts below to see this approach in action. Even if you're a CSS Ninja, you may pick up a trick or two. And if you have additional tips or tricks feel free to add a comment. (This is a publicly editable wiki because we value the feedback of our users.) Click the links below to load the video.
http://static.www.foxycart.com/video/screencasts/FoxyCart_Modifying_the_checkout_page_part1.flv?997x764
If for some reason you don't want to use AutoMagiCache to do things automatically, you can securely cache your http
images on our server (https
) by calling them like this:
https://YOURDOMAIN.foxycart.com/cache.php?url=http://example.com/path/to/image.gif
Please note that this will only work on your cart, checkout, and receipt pages. Again, this is done automatically if you cache your template using AutoMagiCache, so you only need to do this if you're not caching your template.
As of v0.7.0/v0.7.1, there are two included themes.
*.jpg
, *.jpeg
, *.png
, *.gif
) to use FoxyCart image caching./ /
with \/\/
when not preceded by a space or line break.</
with <\/
.<img>
paths to use FoxyCart image caching.<a>
paths to point to the correct locations.<form>
actions to point to correct locations.src=“foo/bar”
or src='foo/bar
'.<meta http-equiv=“Content-Type” content=“text/html; charset=utf-8”/>
.swf
file, there's no good way to ensure that additional necessary files (like xml
, flv
, etc.) are cached along with the swf
file itself.../foo/bar.ext
) more than one level deep are not supported. ../foo/bar.ext
will work, but ../../foo/bar.ext
will not. If you have a legitimate need for more than one level deep, let us know.@IMPORT
rules more than one level deep are not supported. An import will work just fine, but an import inside an import won't be cached. If you have a legitimate need for more than one level deep, let us know.*.foxycart.com
subdomain.For some reason, Firefox and Internet Explorer may have problems when you have the ampersand (“&”) character inside of code comments:
<!-- Some text & more -->
This issue may be related to your doctype, so if you encounter this please let us know.
The following placeholders will be replaced with “spaced” placeholders in cached CSS and JS, to prevent problems with parsing placeholders that shouldn't be parsed.
^^cart^^
→ ^^ cart ^^
^^checkout^^
→ ^^ checkout ^^
^^receipt^^
→ ^^ receipt ^^
^^analytics_google^^
→ ^^ analytics_google ^^