Strap Template for Interchange
This is a modern HTML demo for Interchange, built on the Bootstrap Framework, version 3.x.
It uses the Bootstrap CSS and JS files from the Bootstrap CDN.
Alternatively, you can download a customized Bootstrap, upload it to your Document Root, and then alter the templates to use it.
jQuery is also included. Both Bootstrap and jQuery as-used support Internet Explorer 8 and above.
The Bootstrap and jQuery files are loaded from
variables/JS, if you wish to update the versions used.
This program is offered without warranty of any kind. See file LICENSE for redistribution terms.
Works best with Interchange version 5.8.1 or higher.
Clone the repository (or download the ZIP file and extract, then rename "strap-master" to "strap") to your Interchange directory (e.g. /usr/local/interchange). From there, run:
bin/makecat --demotype=strap [your-catalog-name]
Note: if you previously installed the "standard" template, you should first run this command:
If you want stock alerting, you need to add a cronjob for the user of your catalog, to run the 'daily' Interchange job. Something like:
0 1 * * * /path/to/your/interchange/bin/interchange --runjobs=your_catalog_name=daily --quiet
There may be problems with UTF-8 and recent Perls. You can disable UTF-8 by commenting 2 lines in catalog.cfg, under "Encoding". For instance, this is a known issue with UTF-8 enabled: https://github.com/interchange/interchange/issues/84 If disabling, set an environment variable of
Some of the changes include
Product Groups and Categories use the "ncheck" subroutine in catalog.cfg to allow pretty, SEO-friendly URLs, such as
SEO-friendly "more" paging: no more unindexable "more" pages, nor need to use PermanentMore. Now, "more" pages are:
/Previous. Also provides canonical and "rel=prev/next" meta tags.
All links no longer include '.html'. Configured in
New link for all products:
Searches are now sent as GET requests, not POSTs. Also now uses SearchProfile for very short URLs -- search query is sent in the "s" parameter, for easy tracking via Google Analytics.
Use of UserDB's
indirect_loginby default, to allow emails as usernames (uses a new 'usernick' column).
Password Reset page no longer emails password (bad practice). Now sends a basic encoded link to reset the password, which expires in 1 day. Requires installation of Bundle::Interchange CPAN module.
Checkout pages have a ton of clean up, and improved with user-experience guidelines for Checkout from Baymard Institute.
Multi-page checkout is the default. No more ord/multi.html. The Shipping Address page (ord/shipping.html) now has a login prompt at the top.
Gift certificates (pay certs) supported out-of-the-box. Several code improvements, including ability to validate certificate's check-code and expiration, and ability to pay for entire order or part of order with a gift cert.
Stock Alert function updated to use a database table and Job to email when item is back in stock.
Address Book (
member/ship_addresses.html, etc) and Saved Carts have been removed. We found these features were too complex and little-used in their current state.
order_viewpage updated to show
Admin "Content" tab is hidden, since old Content Editor is not supported anymore.
Basic page editor for Admin users is available to pages that include:
[tmpn editable]1[/tmpn]. Login to Admin, then browse page. "Edit page data" button will be visible in lower-right corner.
Page to reconfigure catalog:
Page to show shipping information:
Error Log now lives in
logs/directory, instead of catalog root.
variables/BOTTOM. Other areas, such as "CSS", are also now in
variables/. Changes in templates can still be hard coded in
BOTTOM, but the long-present but seldom-used
display_classin individual page headers is used more often.
Templates leftright, leftonly, noleft, formerly located in
include/layouthave been moved to more appropriately named
templates/. This to consolidate directory structure and make location of templates more intuitive. Can be easily changed to be more backward compatible if desired by simply editing
No longer using
The page title and page banner can be set anywhere before the page footer.
Profiles moved from
All shipping files/databases moved to
No more etc/after.cfg -- all configuration in catalog.cfg.