<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><atom:link href="http://www.atlantawebdesignga.com/RSSRetrieve.aspx?ID=13688&amp;Type=RSS20" rel="self" type="application/rss+xml" /><title>Adobe Business Catalyst Developer</title><description>Tutorials for Developers using Adobe Business Catalyst</description><link>http://www.atlantawebdesignga.com/</link><lastBuildDate>Sat, 19 May 2012 12:31:18 GMT</lastBuildDate><docs>http://backend.userland.com/rss</docs><generator>RSS.NET: http://www.rssdotnet.com/</generator><item><title>Require Minimum Order Amount or Product Quantities in an Adobe Business Catalyst Shopping Cart</title><description>&lt;p&gt;Often a web site owner wants the shopping cart in &lt;strong&gt;Adobe Business Catalyst&lt;/strong&gt; to require a shopper to purchase a minimum order amount, such as $25 or more per order. That's what my client wanted for&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;a title="Perky Moose Beverages: Instant Apple Cider, Instant Chai Tea, Instant Cappuccino" target="_blank" href="http://www.PerkyMoose.com"&gt;www.PerkyMoose.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We can achieve this even though this feature isn't built into the current Version 2 of Adobe Business Catalyst by writing a little jQuery code plus using a trick or two. (Our method can alternatively require purchasing a minimum number of total products, rather than a dollar amount.)&lt;/p&gt;
&lt;p&gt;Our solution is fairly easy to install in fifteen minutes once you know how, although truthfully we spent a whole day experimenting with various ways to get Business Catalyst to do what we needed. Given the BC shopping cart's quirks, all our normal programming ways didn't work, until we came up with the trick of hiding the real Business Catalyst generated checkout button and instead showing shoppers our own button to click.&lt;/p&gt;
&lt;p&gt;When shoppers click our button, we can run our own code, not BC's code, to check the total order amount. If the order amount isn't OK, then our code displays a popup message. If the amount is OK, then our code behind-the-scenes clicks the hidden but real BC button.&lt;/p&gt;
&lt;h2&gt;How to Install in Business Catalyst &lt;/h2&gt;
&lt;p&gt;The first step is changing the Shopping Cart Layout in &lt;strong&gt;&lt;em&gt;BC Admin--&amp;gt;More Customization Options&lt;strong&gt;&lt;em&gt;--&amp;gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
Online Shop Layouts&lt;/em&gt;.&lt;/strong&gt; Click on the &lt;strong&gt;&lt;em&gt;Shopping Cart Layout&lt;/em&gt;&lt;/strong&gt; and open it in &lt;strong&gt;&lt;em&gt;HTML&lt;/em&gt;&lt;/strong&gt; view, so you can see the code.&lt;/p&gt;
&lt;p&gt;Look for Business Catalyst's tag where the BC checkout button will be created when the shopping cart loads. The tag looks like this: &lt;strong&gt;{tag_buybutton}&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To hide this, we're going to wrap it in a span tag, and after that, add our own &amp;lt;a tag to create our own button. We end up with our HTML looking like this:&lt;/p&gt;
&lt;pre class="html"&gt;&lt;code&gt;
&amp;lt;span style="display: none;"&amp;gt;{tag_buybutton}&amp;lt;/span&amp;gt;&amp;lt;a id="ourbutton" href="#" onclick="checktotal()"&amp;gt;Check Out&amp;lt;/a&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;What we're doing is giving the span a &lt;strong&gt;&lt;em&gt;display:none&lt;/em&gt;&lt;/strong&gt; style, so that will hide the button that Business Catalyst creates in place of &lt;strong&gt;&lt;em&gt;tag_buybutton&lt;/em&gt;&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;Then our &amp;lt;a tag creates our own link, which you will need to style as a button however you wish. For example, &lt;strong&gt;&lt;em&gt;#ourbutton { background:#FF3300; padding:20px; text-decoration:none; font-size:18px; } &lt;/em&gt;&lt;/strong&gt;would create a big, square red button. (Of course you can use an image instead, just put an &amp;lt;img between the &amp;lt;a tags.&lt;/p&gt;
&lt;p&gt;In our button, we have &lt;em&gt;&lt;strong&gt;href="#"&lt;/strong&gt;&lt;/em&gt; because it won't link anywhere, instead, we have an &lt;em&gt;&lt;strong&gt;onlick&lt;/strong&gt;&lt;/em&gt; event so when the button is clicked it will run a script function we're about to create called &lt;strong&gt;&lt;em&gt;checktotal()&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;But first, we have one more tweak in our HTML shopping cart layout to make. Find the &lt;em&gt;&lt;strong&gt;&amp;lt;td&lt;/strong&gt;&lt;/em&gt; table cell that is holding the amount that you want to use as the total order amount. BC has several amount tags, and you could use any one you need:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;{tag_invoicetotal} is products+tax+shipping&lt;/li&gt;
    &lt;li&gt;{tag_productgrandtotal} is products+tax&lt;/li&gt;
    &lt;li&gt;{tag_productssubtotal} is products (no tax or shipping)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the table cell holding that tag, you need to add an &lt;strong&gt;&lt;em&gt;ID thetotal&lt;/em&gt;&lt;/strong&gt; like this:&lt;/p&gt;
&lt;pre class="html"&gt;&lt;code&gt;&amp;lt;td id="thetotal"&amp;gt;{tag_invoicetotal}&amp;lt;/td&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now our code will know where to lookup the total.&lt;/p&gt;
&lt;p&gt;Following is our simple jQuery/JavaScript that provides the magic by creating a function &lt;strong&gt;&lt;em&gt;checktotal()&lt;/em&gt;&lt;/strong&gt;. You place this script at the bottom of your &lt;strong&gt;&lt;em&gt;Shopping Cart Layout&lt;/em&gt;&lt;/strong&gt;&amp;nbsp;in &lt;strong&gt;&lt;em&gt;More Customization Options&lt;/em&gt;&lt;/strong&gt;. To use this script, you must have jQuery running in your website, for details see &lt;a href="_blog/Adobe_Business_Catalyst_Developer/post/Loading_jQuery_-_Loading_Latest_jQuery_-_Test_If_jQuery_Loaded/"&gt;Loading jQuery&lt;/a&gt;&lt;/p&gt;
&lt;pre class="js"&gt;&lt;code&gt;
&amp;lt;script type="text/javascript"&amp;gt;
function checktotal() {
	var thetotal = parseFloat(jQuery('#thetotal').text().replace(/[^\d\.-]/g,''));
	if ( thetotal &amp;lt; 25 ) {
		alert("Total order must be $25 or more. Please add products.");
		} 
		else {
			jQuery('#catshopbuy').click();
			}
	}
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;How the jQuery/JavaScript Works&lt;/h2&gt;
&lt;p&gt;Line 4 stores the current total amount of products in the shopping cart into a variable called &lt;strong&gt;&lt;em&gt;thetotal&lt;/em&gt;&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;Line 4 is complex since it's doing several things, so let's break it down piece by piece... &lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;The code with &lt;strong&gt;&lt;em&gt;jQuery('#thetotal').text()&lt;/em&gt;&lt;/strong&gt; looks in the shopping cart page for an &lt;strong&gt;&lt;em&gt;ID = thetotal&lt;/em&gt;&lt;/strong&gt; and reads the text in that td table cell. &lt;/li&gt;
    &lt;li&gt;But we need to convert text like $12.95 into a number, not text, so first we strip out all characters that aren't numbers or a period (like the $) with the&lt;strong&gt;&lt;em&gt; .replace(/[^\d\.-]/g,'')&lt;/em&gt;&lt;/strong&gt; regular expression.&lt;/li&gt;
    &lt;li&gt;Last we convert the remaining text into a number with &lt;strong&gt;&lt;em&gt;parseFloat&lt;/em&gt;&lt;/strong&gt;.&lt;/li&gt;
    &lt;li&gt;We end up with 12.95 as a number stored our &lt;strong&gt;&lt;em&gt;thetotal &lt;/em&gt;&lt;/strong&gt;variable.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In line 5, if &lt;em&gt;&lt;strong&gt;thetotal &lt;/strong&gt;&lt;/em&gt;is less than 25 dollars, then we popup an alert window with the message, "Total order must be $25 or more. Please add products."&lt;/p&gt;
&lt;p&gt;If &lt;strong&gt;&lt;em&gt;thetotal&lt;/em&gt;&lt;/strong&gt; is 25 dollars or more then we use jQuery to find the element with &lt;em&gt;&lt;strong&gt;ID = catshopbuy&lt;/strong&gt;&lt;/em&gt; which is the ID that Business Catalyst always puts on its Check Out button. Then our jQuery &lt;em&gt;&lt;strong&gt;.click()&lt;/strong&gt;&lt;/em&gt; function clicks the hidden BC button, just as if the user had seen it and clicked it. BC's normal checkout code then runs, to make sure the shipping options etc. are correct, before taking the user to the checkout page.&lt;/p&gt;
&lt;p&gt;We tried many other ways to accomplish this, but kept running into quirks due to the way that BC's own code works. This by far is the simplest method to install.&lt;/p&gt;
&lt;h2&gt;Requiring a Minimum Number of Products&lt;/h2&gt;
&lt;p&gt;The same idea can be used to require a minimum number of products that a customer must buy. For instance, in an online wine shop, if a customer must order 6 bottles of wine, but can mix and match different wines to reach that minimum, then BC has no built in way to do that, since it can only enforce minimum quantities per product, not across the whole order. To accomplish this with the script above, you just assign an ID &lt;em&gt;&lt;strong&gt;thetotal&amp;nbsp;&lt;/strong&gt;&lt;/em&gt; to the table cell holding &lt;em&gt;&lt;strong&gt;{tag_totalunits}&lt;/strong&gt;&lt;/em&gt; which has the total quantity of products ordered. &lt;/p&gt;
</description><link>http://www.atlantawebdesignga.com/RSSRetrieve.aspx?ID=13688&amp;A=Link&amp;ObjectID=349411&amp;ObjectType=56&amp;O=http%253a%252f%252fwww.atlantawebdesignga.com%252f_blog%252fAdobe_Business_Catalyst_Developer%252fpost%252fRequire_Minimum_Order_Amount_or_Product_Quantities_in_an_Adobe_Business_Catalyst_Shopping_Cart%252f</link><guid isPermaLink="true">http://www.atlantawebdesignga.com/_blog/Adobe_Business_Catalyst_Developer/post/Require_Minimum_Order_Amount_or_Product_Quantities_in_an_Adobe_Business_Catalyst_Shopping_Cart/</guid><pubDate>Mon, 05 Dec 2011 01:55:00 GMT</pubDate></item><item><title>Automatically Format Images with jQuery - Add Margins, Borders, More</title><description>&lt;p&gt;&amp;nbsp;This article shows how to automate the formatting of images in the articles your clients write in a content management system, like Adobe Business Catalyst.&lt;/p&gt;
&lt;p&gt;A problem is helping clients learn how to format images they place into their articles. It's tricky for them to remember to do the little things, like adding the proper margin on the left of an image that is floated to the right of the text, so the text doesn't run into the image. Of course, images floated to the right need different styling and margins than images floated to the left.&lt;/p&gt;
&lt;p&gt;A solution is to add some simple jQuery code so images are automatically formatted the way the web designer desires, without the client needing to remember anything except to place the image to the right or left of text. Here's how...&lt;/p&gt;
&lt;h2&gt;Step 1: CSS to Style Image Margins and More&lt;/h2&gt;
The first step is to create CSS style sheet definitions to say how you want images formatted. What we usually do is create two, one for left images and one for right. These definitions can include any CSS you wish to apply, but in our case we're just setting the margins and borders....
&lt;pre class="html"&gt;&lt;code&gt;
.imgleft {
     margin:10px 20px 10px 0;
     border:none;
}
.imgright {
     margin:10px 0 10px 10px;
     border:none;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;
In imgleft we are setting a 20px margin to the right of the image to separate it from text. In imgright we set it to the left.&lt;/p&gt;
&lt;h2&gt;Step 2: Automatically Apply Styles to Images with jQuery&lt;/h2&gt;
&lt;p&gt;Now we create a simple jQuery script that will automatically assign the CSS classes we created to images.&lt;/p&gt;
&lt;pre class="js"&gt;&lt;code&gt;
&amp;lt;script type="text/javascript"&amp;gt;
jQuery(document).ready(function() {
jQuery("#content img").each(function (i) {
  if (jQuery(this).css('float') === 'left') { jQuery(this).addClass('imgleft'); }
  if (jQuery(this).css('float') === 'right') { jQuery(this).addClass('imgright'); }
});
});
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Here's how this works...&lt;/p&gt;
&lt;p&gt;Line 3 is the standard jQuery function that doesn't run the script until the document is ready (the web page has loaded in the browser.)&lt;/p&gt;
&lt;p&gt;In Line 4 has jQuery searching for every &amp;lt;img&amp;gt; but only within a &amp;lt;div&amp;gt; with ID #content. We limit the search because we don't want to reformat images in the header, sidebar, footer, etc. but only those within the main content areas in our site. Change #content to whatever ID contains your page or blog articles. The jQuery each function makes it study each image within that ID.&lt;/p&gt;
&lt;p&gt;In line 5 the jQuery checks if the writer assigned this image to float to the left of text, and if so, then the jQuery adds the CSS class .imgleft to the image. Line 6 checks for float right.&lt;/p&gt;
&lt;p&gt;This script is usually inserted before the &amp;lt;/body&amp;gt; in the template(s) used by all your web pages or blogs. Of course, since it uses jQuery your site must also load jQuery. See &lt;a href="/_blog/Adobe_Business_Catalyst_Developer/post/Loading_jQuery_-_Loading_Latest_jQuery_-_Test_If_jQuery_Loaded/"&gt;Loading jQuery&lt;/a&gt;.&lt;/p&gt;
</description><link>http://www.atlantawebdesignga.com/RSSRetrieve.aspx?ID=13688&amp;A=Link&amp;ObjectID=332159&amp;ObjectType=56&amp;O=http%253a%252f%252fwww.atlantawebdesignga.com%252f_blog%252fAdobe_Business_Catalyst_Developer%252fpost%252fAutomatically_Format_Images_with_jQuery_-_Add_Margins%252c_Borders%252f</link><guid isPermaLink="true">http://www.atlantawebdesignga.com/_blog/Adobe_Business_Catalyst_Developer/post/Automatically_Format_Images_with_jQuery_-_Add_Margins,_Borders/</guid><pubDate>Sun, 30 Oct 2011 14:19:00 GMT</pubDate></item><item><title>Loading jQuery - Loading Latest jQuery - Test If jQuery Loaded</title><description>&lt;p&gt;Below we explain several ways to install jQuery on your website:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Have your web page load the latest version from a CDN (content delivery network) like jQuery.com&lt;/li&gt;
    &lt;li&gt;Download the latest jQuery file, copy it to your web server, and load it locally.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Is jQuery Loaded On Your Site Already?&lt;/h2&gt;
&lt;p&gt;If you are using software like WordPress, or a content management system or development platform, or even a design template or theme you purchased, there's a good chance it already is loading jQuery because it is using it. You only need to load jQuery once so it's wise to create a test page to see if jQuery is already loaded. In the test page paste this script, then view the page in your browser. A popup message will tell you if you already have jQuery loaded or not.&lt;/p&gt;
&lt;pre id="dynamic" class="js"&gt;&lt;code&gt;
&amp;lt;script type="text/javascript"&amp;gt;
if (typeof jQuery == 'undefined') {  
    alert('jQuery is not loaded')  
} else {
    alert('jQuery is already loaded')
}
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Loading Latest jQuery from jQuery.com&lt;/h2&gt;
&lt;p&gt;The following loads the latest version of jQuery from jQuery.com when you place this in your web page &amp;lt;head&amp;gt;&lt;/p&gt;
&lt;pre id="dynamic" class="html"&gt;&lt;code&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;nbsp;src=&amp;quot;http://code.jquery.com/jquery-latest.min.js&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;An advantage to loading this way is your web visitors may already have visited another site that loaded jQuery this way, in which case their browser will immediately use the copy already on their PC instead of wasting time downloading the file if you host it on your web site. This means your site loads faster.&lt;/p&gt;
&lt;h2&gt;Loading jQuery from Your Web Server&lt;/h2&gt;
&lt;p&gt;You can download jQuery here: &lt;a href="http://www.jQuery.com" target="_blank"&gt;jQuery.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Place the file in a folder on your own web server such as within /js and then include a load command in your web page &amp;lt;head&amp;gt; with a path to your copy:&lt;/p&gt;
&lt;pre id="dynamic" class="html"&gt;&lt;code&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;nbsp;src=&amp;quot;/js/jquery.js&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Loading jQuery Only If It's Not Already Loaded&lt;/h2&gt;
Here's a clever way to automatically  load jQuery only if it isn't already loaded. I use this when distributing software or design themes and I won't know if jQuery already exists or not. This version will load the latest version if there is no version of jQuery already running...
&lt;pre id="dynamic" class="js"&gt;&lt;code&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt; if (window.jQuery == undefined) document.write( unescape(&amp;#39;%3Cscript src=&amp;quot;/js/jquery-1.6.4.min.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;%3E%3C/script%3E&amp;#39;) );&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</description><link>http://www.atlantawebdesignga.com/RSSRetrieve.aspx?ID=13688&amp;A=Link&amp;ObjectID=328470&amp;ObjectType=56&amp;O=http%253a%252f%252fwww.atlantawebdesignga.com%252f_blog%252fAdobe_Business_Catalyst_Developer%252fpost%252fLoading_jQuery_-_Loading_Latest_jQuery_-_Test_If_jQuery_Loaded%252f</link><guid isPermaLink="true">http://www.atlantawebdesignga.com/_blog/Adobe_Business_Catalyst_Developer/post/Loading_jQuery_-_Loading_Latest_jQuery_-_Test_If_jQuery_Loaded/</guid><pubDate>Sat, 22 Oct 2011 17:37:00 GMT</pubDate></item><item><title>Use JavaScript Galleria Slideshow to Display an Adobe Business Catalyst Photo Gallery using jQuery</title><description>&lt;a href="/tutorial/galleria-gallery-with-titles-and-captions" target="_blank" class="button btn_2"&gt;View The Demo Gallery Slide Show&lt;/a&gt;
&lt;p&gt;The demo shows one way to use our free BC-PhotoGallery plugin that connects Business Catalyst to &lt;a title="Galleria Slide Show" target="_blank" href="http://galleria.aino.se/"&gt;Galleria&lt;/a&gt;, a wonderful and free image gallery created by Aino. Another example is on the home page of this BC site for &lt;a href="http://www.GalenMedicalBilling.com" target="_blank" title="Galen Medical Billing"&gt;Galen Medical Billing&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There are several ways to install Galleria in Business Catalyst:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Feed images setup in the BC Photo Gallery.&lt;/li&gt;
    &lt;li&gt;Insert images defined in a BC Content Holder.&lt;/li&gt;
    &lt;li&gt;Create a Web App to setup the images the gallery uses.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This tutorial will first discuss how to use Galleria with a BC Photo Gallery, because some of my clients are on the BC Business Plan and do not have Web Apps available. At the end of the article we'll show how Content Holders or Web Apps can be used instead.&lt;/p&gt;
&lt;h3&gt;Using the BC Photo Gallery with Galleria &lt;/h3&gt;
&lt;p&gt;With Galleria you can turn a BC Photo Gallery into an animated slide show complete with titles over or above photos, photo descriptions, and links so clicking photos takes you to another web page. This lets you create a home page slider to promote featured content -- clicking a photo will take your visitor to an article. Galleria is also a nice way to display new products or sales points.&lt;/p&gt;
&lt;p&gt;By linking Galleria to the Business Catalyst Photo Gallery, your client can easily change the photos and messages/links using the BC Admin -- no need to tinker with HTML code. &lt;/p&gt;
&lt;p&gt;Our tutorial provides you with jQuery code that can read the&amp;nbsp; XML file that the BC Photo Gallery creates to define the images, headlines, photo descriptions and links that the Galleria Gallery will display.&lt;/p&gt;
&lt;p&gt;You can change the size, position, and style of the captions and thumbnails, and display or hide the thumbnails or titles or descriptions, if you modify the included CSS file in the BC-PhotoGallery Galleria Theme we provide. Some tips are given below.&lt;/p&gt;
&lt;p&gt;Let's get started... &lt;/p&gt;
&lt;h3&gt;Step 1: Create a Business Catalyst Photo Gallery&lt;/h3&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;a href="/downloads/bc-galleria.zip" class="button btn_2"&gt;Download Our Zip File of Galleria for BC&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;From within the Zip file extract the Galleria folder and copy it to the root folder of your BC server using an FTP program or Dreamweaver.&lt;/li&gt;
    &lt;li&gt;In Business Catalyst Admin use the &lt;strong&gt;&lt;em&gt;File Manager&lt;/em&gt;&lt;/strong&gt; or FTP or Dreamweaver to create a folder that will store your gallery images. Then upload the images into that folder. Every image in this folder will appear in the slide show, so don't put extras here.&lt;/li&gt;
    &lt;li&gt;In BC Admin click &lt;em&gt;&lt;strong&gt;Modules --&amp;gt; Photo Galleries --&amp;gt; Create New Photo Gallery&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;In &lt;em&gt;&lt;strong&gt;Name&lt;/strong&gt;&lt;/em&gt; enter your gallery name. This doesn't appear online, only in BC Admin.&lt;/li&gt;
    &lt;li&gt;In &lt;em&gt;&lt;strong&gt;Images Folder&lt;/strong&gt;&lt;/em&gt; choose the folder name you created above to hold your images.&lt;/li&gt;
    &lt;li&gt;Click Next&lt;/li&gt;
    &lt;li&gt;One by one highlight each photo in the left box. In the description field for each photo, you can optionally enter a title headline, a description sentence, and/or a link. Since BC provides only one description box, we have to put all these in that one box, so we separate them by use a ^ delimiter like this:
    &lt;ul&gt;
        &lt;li&gt;Your Title^A description sentence.^/link-to-page.htm&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Our jQuery code will split apart these items at the ^ mark. You can leave out the title, or description, or link but you must still include the ^ in place so the code knows where to delimit the info. Here are examples:
    &lt;ul&gt;
        &lt;li&gt;Your Title^^/link-to-page.htm&lt;/li&gt;
        &lt;li&gt;Your Title^Description sentence.&lt;/li&gt;
        &lt;li&gt;^^/link-to-page.htm&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;You can leave the Photo Gallery Description empty if you only want images and no titles, sentences or links. No ^ marks are needed. &lt;/li&gt;
    &lt;li&gt;When done in right column click &lt;strong&gt;&lt;em&gt;Generate XML File&lt;/em&gt;&lt;/strong&gt;.&lt;/li&gt;
    &lt;li&gt;If you add a new photo or delete a photo in the gallery folder, you must return to &lt;strong&gt;&lt;em&gt;Generate XML File&lt;/em&gt;&lt;/strong&gt;. The current XML file version tells Galleria which photos and descriptions to use.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Step 2: Install Galleria Gallery on a Web Page&lt;/h3&gt;
&lt;p&gt;To display a Galleria Gallery on the web page all you do is add one line of HTML to create a DIV to hold the slide show plus load two scripts. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How It Works: &lt;/strong&gt;The script looks in a BC Photo Gallery folder on the server for an XML file that describes the photos and their titles/captions. It then adds new HTML for those images into your page inside a DIV where you want the slide show to appear, the loads Galleria which turns that new HTML into the gallery.&lt;/p&gt;
&lt;p&gt;Here's how to install it on your web site...&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Create a blank page in Business Catalyst. In the BC editor switch to &lt;em&gt; &lt;strong&gt;HTML View&lt;/strong&gt;&lt;/em&gt; and paste in the following code. &lt;strong&gt;HINT:&lt;/strong&gt; Hover the code box below and in upper right click COPY to put this code on your clipboard, then paste into BC. (This code is also included in a file within the Download Zip File above.)&amp;nbsp; Save and publish your BC page.&lt;br /&gt;
    &lt;pre class="js" id="dynamic"&gt;&lt;code&gt;
&amp;lt;div id="bc-photogallery-1" style="position: relative;"&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;script src="/galleria/galleria-1.2.5.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type="text/javascript"&amp;gt;
jQuery(document).ready(function(){
	jQuery(function(){
		jQuery.ajax({
			type: "GET",
			url: "/galleria/bc-galleria-images-1/PhotoGallery.xml", // set to path to BC photo gallery
			dataType: "xml",
			success: function(xml) {
				var location = '/galleria/bc-galleria-images-1/'; // set to path to BC photo gallery
				jQuery(xml).find('img').each(function() {
					// step through xml file and add image info into the web page
					var myurl = jQuery(this).attr('src');
					var mystuff = jQuery(this).attr('alt').split("^");
					var myinfo = "";
					if ( mystuff.hasOwnProperty("0") ) { myinfo = myinfo + ' title="' + mystuff[0] + '"'; }
					if ( mystuff.hasOwnProperty("1") ) { myinfo = myinfo + ' alt="' + mystuff[1] + '"'; }
					if ( mystuff.hasOwnProperty("2") ) { myinfo = myinfo + ' longdesc="' + mystuff[2] + '"'; }
					var myimg = '&amp;lt;img class="bc-gallery-image" src="'+location+''+myurl+'" '+myinfo+ '" /&amp;gt;';
					jQuery('#bc-photogallery-1').append(myimg); // set to your div containing galleria
					});
					// load Galleria slideshow theme and start the show
					Galleria.loadTheme('/galleria/themes/bc-photogallery/galleria.bc-photogallery.js'); // set to your theme
					jQuery('#bc-photogallery-1').galleria({ // set to your div containing galleria
						height: 560, // set to height of slide + height of thumbnails (default 50px)
						image_crop: true,
						carousel: true,
						carousel_speed: 2000,
						autoplay: true,
						thumbnails: true,
						showInfo: true,
						transition: 'fade',
						transition_speed: 600
						});
			}
		});
	});
}); 
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt;In addition to this code, you must also have jQuery installed on your web site. You can read my article on &lt;a target="_blank" href="/_blog/Adobe_Business_Catalyst_Developer/post/Loading_jQuery_-_Loading_Latest_jQuery_-_Test_If_jQuery_Loaded/"&gt;Loading jQuery&lt;/a&gt;. &lt;/li&gt;
    &lt;li&gt;Line 2 is the single line of HTML needed on a page to create a Galleria Gallery. Our code is looking for a DIV on the page with ID &lt;strong&gt;#bc-photogallery-1&lt;/strong&gt; and will insert the new gallery HTML into that DIV.&amp;nbsp; &lt;em&gt;(Note: You can have more than one gallery on page by creating a second DIV with a different ID and providing a second script that loads different images into the second DIV.&lt;/em&gt; &lt;/li&gt;
    &lt;li&gt;In line 27 change the height of the &lt;strong&gt;#bc-photogallery-1&lt;/strong&gt; container to the pixel height of the tallest photo in your gallery, plus add 50px. 50px is the default thumbnail height defined in /galleria/themes/bc-photogallery/galleria.bc-photogallery.css unless you change thumbnail size there. In our demo we set the height at 560 because we had images that are 510 px tall plus the 50px thumbnails.&amp;nbsp; &lt;em&gt;(Note: if the height isn't defined or too small the gallery may not appear.)&lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;In line 9 change the file URL to your domain and the folder where you installed your images. Leave PhotoGallery.xml as the file name because BC always creates that file when you click &lt;strong&gt;&lt;em&gt;Generate XML File&lt;/em&gt;&lt;/strong&gt; in the BC Photo Gallery admin.&lt;/li&gt;
    &lt;li&gt;You can adjust &lt;strong&gt;&lt;em&gt;carousel_speed&lt;/em&gt;&lt;/strong&gt; in line 30. Numbers are milliseconds so 4000 means display a slide for 4 seconds.&lt;/li&gt;
    &lt;li&gt;If you make &lt;strong&gt;&lt;em&gt;thumbnails: false&lt;/em&gt;&lt;/strong&gt; in line 32 then they will not display, and you can remove the extra 50px from the gallery height. You can also hide thumbnails by adding a display:none in the CSS file.&lt;/li&gt;
    &lt;li&gt;There are other optional parameters you can add as described in documentation on the &lt;a title="Galleria Slide Show" target="_blank" href="http://galleria.aino.se/"&gt;Galleria&lt;/a&gt; site.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Style and Position the Gallery Titles, Slide Sizes, Etc.&lt;/h3&gt;
&lt;p&gt;The appearance of the Galleria Gallery is controlled by editing a CSS file: /galleria/themes/bc-photogallery/galleria.bc-photogallery.css&lt;/p&gt;
&lt;p&gt;Some ideas about the items you can change to suit your design...&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;strong&gt;&lt;em&gt;.galleria-container:&lt;/em&gt;&lt;/strong&gt; change background color surrounding the image (on my demo it is set to none so transparent.).&lt;/li&gt;
    &lt;li&gt;
    &lt;strong&gt;&lt;em&gt;.galleria-stage:&lt;/em&gt;&lt;/strong&gt; this is the slide area within the .galleria-container. You can adjust margins to make the stage the same size as the container, so there is no border areas around the slides.&lt;/li&gt;
    &lt;li&gt;
    &lt;strong&gt;&lt;em&gt;.galleria-info:&lt;/em&gt;&lt;/strong&gt; this contains the title and description. The info normally displays in the top left corner so setting in CSS top:200px moves it down over the slide. You can adjust left: from 0 to move the title right, or delete left: and make it right:0 to align to right of slide. The width default is 50% of the width of the slide, adjust as needed including up to 100% if the info is displayed above or below the images.&lt;/li&gt;
    &lt;li&gt;
    &lt;strong&gt;&lt;em&gt;.galleria-info-text:&lt;/em&gt;&lt;/strong&gt; the container around the title and description - change the text background color or use a semi-transparent .PNG&lt;/li&gt;
    &lt;li&gt;
    &lt;strong&gt;&lt;em&gt;.galleria-info-title:&lt;/em&gt;&lt;/strong&gt; change the title's color or font size or font family.&lt;/li&gt;
    &lt;li&gt;
    &lt;strong&gt;&lt;em&gt;.galleria-info-description:&lt;/em&gt;&lt;/strong&gt; change the description's color or font size/family.&lt;/li&gt;
    &lt;li&gt;
    &lt;strong&gt;&lt;em&gt;.galleria-thumbnails-container:&lt;/em&gt;&lt;/strong&gt; adjust the position of the thumbnails.&lt;/li&gt;
    &lt;li&gt;
    &lt;strong&gt;&lt;em&gt;.galleria-thumbnails .galleria-image:&lt;/em&gt;&lt;/strong&gt; adjust thumbnail size. Thumbnails are automatically created by JavaScript from the full-size images.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Animating Titles/Captions&lt;/h3&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;A developer is asking if the caption can be animated to slide out or down. It can by adding a little more jQuery to the script. I'll work on showing how to do that in a later revision to this article.&lt;/p&gt;
&lt;h2&gt;Using A Business Catalyst Content Holder with Galleria
&lt;/h2&gt;
&lt;p&gt;In some projects we use a Business Catalyst Content Holder to define the images we want Galleria to use. This is a simpler approach to install, but requires the client to be extra careful when adding info in the content holder. The problem is BC has a friendly UI that lets you easily add a longer description and link to an image, but to add a Title your client will need to switch to HTML view in the content holder and type in some text.&lt;/p&gt;
&lt;p&gt;For Galleria to work it needs HTML markup on the page that looks like this:&lt;/p&gt;
&lt;pre id="dynamic" class="html"&gt;&lt;code&gt;
&amp;lt;div id="bc-photo-gallery-1"&amp;gt;
    &amp;lt;img src="/images/pic1.jpg" alt="My longer description sentence." title="My title" longdesc="http://www.some-website-to-view-when-image-is-clicked.com"&amp;gt;
    &amp;lt;img src="/images/pic2.jpg" alt="Another description" title="Another title" longdesc="/some-bc-page-seen-when-image-clicked.htm"&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We put the &amp;lt;img tags inside our content holder, and on the page where we wish the Galleria Gallery to appear we'll put a BC Module tag to insert the content holder within a DIV. Here's step by step...&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;In BC Admin in the upper right toolbar click on &lt;strong&gt;&lt;em&gt;Admin --&amp;gt; Manage Content Holders&lt;/em&gt;&lt;/strong&gt;.&lt;br /&gt;
    Create a new content holder and name it.&lt;/li&gt;
    &lt;li&gt;In the Content Holder Content box use the &lt;strong&gt;&lt;em&gt;Image&lt;/em&gt;&lt;/strong&gt; button on the editor toolbar to insert an image. Continue inserting more images in the order you wish them to appear, without adding a blank space or line break after each image.&lt;/li&gt;
    &lt;li&gt;To add the Title and Description, you can right click on a photo to select it and choose &lt;strong&gt;&lt;em&gt;Properties&lt;/em&gt;&lt;/strong&gt; from the popup. &lt;/li&gt;
    &lt;li&gt;In the &lt;em&gt;&lt;strong&gt;Alt Text&lt;/strong&gt;&lt;/em&gt; box you enter the longer description sentence for the image.&lt;/li&gt;
    &lt;li&gt;In the &lt;strong&gt;&lt;em&gt;Long Description&lt;/em&gt;&lt;/strong&gt; box you enter an optional URL link, so when the image in the slide show is clicked your user will go to another page on your site like /some-page.htm or an external website like http://www.AtlantaWebDesignGA.com &lt;/li&gt;
    &lt;li&gt;To add a Title unfortunately the BC UI has no method, so close the properties box, then at bottom of Content Holder click on &lt;strong&gt;&lt;em&gt;HTML view&lt;/em&gt;&lt;/strong&gt;. Inside the IMG tag for each photo, add: &lt;strong&gt;&lt;em&gt;Title = "My title."&lt;/em&gt;&lt;/strong&gt; You could of course manually enter the Description this way as an ALT attribute, and the URL link as a LONGDESC attribute, so your end result looks like the HTML markup above.&lt;/li&gt;
    &lt;li&gt;Save the content holder.&lt;/li&gt;
    &lt;li&gt;On the page where you Galleria Gallery will appear, you'll add a &lt;strong&gt;&lt;em&gt;DIV&lt;/em&gt;&lt;/strong&gt; and in it use the BC &lt;strong&gt;&lt;em&gt;Add Modules&lt;/em&gt;&lt;/strong&gt; button to add module tag that will insert the HTML in the content holder into this page. When you are done your markup will look like this, with the number being your own Content Holder's ID.
    &lt;pre id="dynamic" class="html"&gt;&lt;code&gt;
&amp;lt;div id="bc-photo-gallery-1"&amp;gt;
{ module_contentholder,1234}
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt;The next step is adding the code to make Galleria work. Download the Zip File using the button atop this article and copy the Galleria folder in the zip file to the root of your BC Server. Then on the bottom of your Gallery page before the &amp;lt;/body you need to add a script  like this:
    &lt;pre id="dynamic" class="html"&gt;&lt;code&gt;
&amp;lt;script src="/galleria/galleria-1.2.5.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
jQuery(document).ready(function(){
  // load Galleria slideshow theme and start the show
	Galleria.loadTheme('/galleria/themes/bc-photogallery/galleria.bc-photogallery.js'); // set to your theme
	jQuery('#bc-photogallery-1').galleria({ // set to your div containing galleria
		height: 560, // set to height of slide + height of thumbnails (default 50px)
		image_crop: true,
		carousel: true,
		carousel_speed: 2000,
		autoplay: true,
		thumbnails: true,
		showInfo: true,
		transition: 'fade',
		transition_speed: 600
		});
}); 
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
    Galleria needs to know the width of the gallery in pixels or it will not start. It usually can determine the height automatically, although you can specify one if you wish. You can add additional parameters as described on the Galleria site on the &lt;a target="_blank" href="http://galleria.aino.se/docs/1.2/options/"&gt;Galleria Options Page&lt;/a&gt;.&lt;/li&gt;
    &lt;li&gt;Remember you also need to load jQuery on your website if it is not already installed. See &lt;a target="_blank" href="../_blog/Adobe_Business_Catalyst_Developer/post/Loading_jQuery_-_Loading_Latest_jQuery_-_Test_If_jQuery_Loaded/"&gt;Loading jQuery&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Using a Business Catalyst Web App with a Galleria Gallery&lt;/h3&gt;
&lt;p&gt;If you have the Business Catalyst Pro Plan then you can use a Web App to control which slides display in your Galleria Gallery. &lt;/p&gt;
&lt;p&gt;Your client will be entering images as new Web App Items in &lt;strong&gt;&lt;em&gt;Modules --&amp;gt; Web Apps --&amp;gt; Add a new Web App Item&lt;/em&gt;&lt;/strong&gt;. On your Galleria Gallery page, you'll insert a BC Module to list the web app items (images) within your HTML markup.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Here's how to set this up...&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;In BC Admin click &lt;em&gt;&lt;strong&gt;Modules --&amp;gt; Web Apps&lt;/strong&gt;&lt;/em&gt; then click &lt;strong&gt;&lt;em&gt;Build a New Web App&lt;/em&gt;&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Give the Web App a &lt;em&gt;&lt;strong&gt;Name&lt;/strong&gt;&lt;/em&gt;. Your users don't see this, it's just for Admin.&lt;/li&gt;
    &lt;li&gt;At bottom click &lt;strong&gt;&lt;em&gt;Next&lt;/em&gt;&lt;/strong&gt;.&lt;/li&gt;
    &lt;li&gt;Now on the &lt;strong&gt;&lt;em&gt;Custom Fields&lt;/em&gt;&lt;/strong&gt; screen we'll create some custom fields. We'll explain these later when we create our first web app item.&lt;/li&gt;
    &lt;li&gt;On the Custom Fields screen in &lt;strong&gt;&lt;em&gt;Field Name&lt;/em&gt;&lt;/strong&gt; enter &lt;strong&gt;Select Image&lt;/strong&gt;, in &lt;strong&gt;&lt;em&gt;Field Type&lt;/em&gt;&lt;/strong&gt; select &lt;strong&gt;Image&lt;/strong&gt;, check the mandatory box, and click &lt;strong&gt;&lt;em&gt;Save Field&lt;/em&gt;&lt;/strong&gt;.&lt;/li&gt;
    &lt;li&gt;Click &lt;strong&gt;&lt;em&gt;New Field&lt;/em&gt;&lt;/strong&gt; and for &lt;strong&gt;&lt;em&gt;Field Name&lt;/em&gt;&lt;/strong&gt; enter &lt;strong&gt;Copy Image URL&lt;/strong&gt;, in &lt;strong&gt;&lt;em&gt;Field Type&lt;/em&gt;&lt;/strong&gt; select &lt;strong&gt;Text (String)&lt;/strong&gt;, check the mandatory box, and click &lt;strong&gt;&lt;em&gt;Save Field&lt;/em&gt;&lt;/strong&gt;.&lt;/li&gt;
    &lt;li&gt;Click &lt;strong&gt;&lt;em&gt;New Field&lt;/em&gt;&lt;/strong&gt; and for &lt;strong&gt;&lt;em&gt;Field Name&lt;/em&gt;&lt;/strong&gt; enter &lt;strong&gt;Image Title&lt;/strong&gt;, in &lt;strong&gt;&lt;em&gt;Field Type&lt;/em&gt;&lt;/strong&gt; select &lt;strong&gt;Text (String)&lt;/strong&gt;, and click &lt;strong&gt;&lt;em&gt;Save Field&lt;/em&gt;&lt;/strong&gt;.&lt;/li&gt;
    &lt;li&gt;Click &lt;strong&gt;&lt;em&gt;New Field&lt;/em&gt;&lt;/strong&gt; and for &lt;strong&gt;&lt;em&gt;Field Name&lt;/em&gt;&lt;/strong&gt; enter &lt;strong&gt;Image Description&lt;/strong&gt;, in &lt;strong&gt;&lt;em&gt;Field Type&lt;/em&gt;&lt;/strong&gt; select &lt;strong&gt;Text (String)&lt;/strong&gt; or &lt;strong&gt;Text (Multi-line)&lt;/strong&gt; if you need very long descriptions, and click &lt;strong&gt;&lt;em&gt;Save Field&lt;/em&gt;&lt;/strong&gt;.&lt;/li&gt;
    &lt;li&gt;Click &lt;strong&gt;&lt;em&gt;New Field&lt;/em&gt;&lt;/strong&gt; and for &lt;strong&gt;&lt;em&gt;Field Name&lt;/em&gt;&lt;/strong&gt; enter &lt;strong&gt;Image Link&lt;/strong&gt;, in &lt;strong&gt;&lt;em&gt;Field Type&lt;/em&gt;&lt;/strong&gt; select &lt;strong&gt;Text (String)&lt;/strong&gt; and click &lt;strong&gt;&lt;em&gt;Save Field&lt;/em&gt;&lt;/strong&gt;. (Don't choose type Hyperlink, we need our link to be text.)&lt;/li&gt;
    &lt;li&gt;In right column click &lt;strong&gt;&lt;em&gt;Customize Web App Layout&lt;/em&gt;&lt;/strong&gt;. We need to modify the &lt;strong&gt;&lt;em&gt;List Template&lt;/em&gt;&lt;/strong&gt; to output the kind of HTML that Galleria needs. Switch to &lt;strong&gt;&lt;em&gt;HTML view&lt;/em&gt;&lt;/strong&gt; and paste in this code:
    &lt;pre class="html" id="dynamic"&gt;&lt;code&gt;
&amp;lt;img longdesc="{tag_image link}" alt="{tag_image description}" title="{tag_image title}" src="{tag_copy image url}" class="bc-gallery-image" /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now we are ready to add web app items (images) to our Galleria Gallery.&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;In BC Admin click &lt;strong&gt;&lt;em&gt;Modules --&amp;gt; Web Apps&lt;/em&gt;&lt;/strong&gt; and click the name of your gallery web app.&lt;/li&gt;
    &lt;li&gt;Click &lt;strong&gt;&lt;em&gt;Create a New Web App Item&lt;/em&gt;&lt;/strong&gt;.&lt;/li&gt;
    &lt;li&gt;In &lt;em&gt;&lt;strong&gt;Item Name&lt;/strong&gt;&lt;/em&gt; enter the image name. This will not display online, it's just for BC Admin. The reason we don't use this field for the Image Title in Galleria is you may not want a title on all images.&lt;/li&gt;
    &lt;li&gt;In Template leave on &lt;strong&gt;&lt;em&gt;Don&amp;rsquo;t' use a template&lt;/em&gt;&lt;/strong&gt;.&lt;/li&gt;
    &lt;li&gt;In &lt;strong&gt;&lt;em&gt;Select Image&lt;/em&gt;&lt;/strong&gt;, click on the blue &lt;strong&gt;&lt;em&gt;Select Image link&lt;/em&gt;&lt;/strong&gt; at right and navigate to your image already in a BC server folder, or upload a new image to a server folder. When done, the image URL will appear in this box. However, we cannot use this field to send an image to Galleria because when BC outputs a web app field of type image to a web page it automatically creates an IMG link that wouldn't have any parameters for an image title, image description, or image link that we wish our Galleria gallery to use. So, this is a dummy field we added simply so we'd have a Select Image link to help us navigate to find an image URL or upload a new photo. The next field is the one we'll really be using.&lt;/li&gt;
    &lt;li&gt;In the next field, &lt;strong&gt;&lt;em&gt;Copy Image URL&lt;/em&gt;&lt;/strong&gt;, we want to copy the URL in the Select Image field into this field. This one is a type text, and allows us to provide the proper image link to Galleria in our web app List Layout along with the image title, description, and link info.&lt;/li&gt;
    &lt;li&gt;In &lt;strong&gt;&lt;em&gt;Image Title&lt;/em&gt;&lt;/strong&gt;, enter a title to appear for this image in the slide show display. You can leave it blank if you don't want a title.&lt;/li&gt;
    &lt;li&gt;In &lt;strong&gt;&lt;em&gt;Image Description&lt;/em&gt;&lt;/strong&gt;, enter an optional description to display in Galleria.&lt;/li&gt;
    &lt;li&gt;In &lt;strong&gt;Image Link&lt;/strong&gt;, enter an optional link that the user will go to when the slide show image is clicked. This can be to a BC web page ( /some-page.htm ), an external web site (http://www.AtlantaWebDesignGA.com) , or link to a larger blow up of the image in the gallery.&lt;/li&gt;
    &lt;li&gt;At bottom left &lt;strong&gt;&lt;em&gt;Save&lt;/em&gt;&lt;/strong&gt; the web app item.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When you are done creating images as web app items, you are ready to prepare the page where you want the Galleria Gallery to appear.&lt;/p&gt;
&lt;p&gt;In the page you'll want to create markup that looks like this where 12345 will be the ID for your web app:&lt;/p&gt;
&lt;pre class="html" id="dynamic"&gt;&lt;code&gt;
&amp;lt;div id="bc-photo-gallery-1"&amp;gt;
{ module_webapps,12345,a,}
 &amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Finally, install the Galleria script as described in step 9 in the previous section, Using A Business Catalyst Content Holder with Galleria.&lt;/p&gt;
</description><link>http://www.atlantawebdesignga.com/RSSRetrieve.aspx?ID=13688&amp;A=Link&amp;ObjectID=327493&amp;ObjectType=56&amp;O=http%253a%252f%252fwww.atlantawebdesignga.com%252f_blog%252fAdobe_Business_Catalyst_Developer%252fpost%252fUse_Javascript_Galleria_Slideshow_to_Display_an_Adobe_Business_Catalyst_Photo_Gallery%252f</link><guid isPermaLink="true">http://www.atlantawebdesignga.com/_blog/Adobe_Business_Catalyst_Developer/post/Use_Javascript_Galleria_Slideshow_to_Display_an_Adobe_Business_Catalyst_Photo_Gallery/</guid><pubDate>Sat, 22 Oct 2011 18:22:00 GMT</pubDate></item><item><title>Migrating A Site into Adobe Business Catalyst with Proper Google Redirects</title><description>&lt;p&gt;A challenge when moving any website into a new system like Adobe Business Catalyst is insuring that any existing links appearing in Google search results when clicked will connect to specific pages in the new website.&lt;/p&gt;
&lt;p&gt;This is normally done by creating a list of redirects, a directory of the URL addresses the old site's pages mapped to the URLs on the new site, so Google can readjust its info.&lt;/p&gt;
&lt;p&gt;However, there's a problem if you need to redirect to a new page in Business Catalyst that doesn't end in a .htm, .html or other file type but rather looks like this:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;http://www.yoursite.com/some-page-name/ &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;or&lt;strong&gt; &lt;strong&gt;http://www.yoursite.com/some-page-name&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Your redirect to that link will fail with a &lt;em&gt;"404 Error - Page Not Found"&lt;/em&gt; If you create it following instructions in the BC's &lt;a title="Adobe Business Catalyst 301 Redirect Instructions" target="_blank" href="http://kb.worldsecuresystems.com/841/cpsid_84124.html?bc-partner"&gt;redirect instructions.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I discovered this when migrating to Business Catalyst a web site from WordPress in which almost all the pages on the WordPress site ended in a /&amp;nbsp; and so I was also trying to redirect the old URLs to new URLs in BC ending in a /.&lt;/p&gt;
&lt;p&gt;In particular, if you are trying to redirect an old site's link to a shopping cart catalog URL in the new site, since all BC catalog URLs end in / then no redirects will work. &lt;/p&gt;
&lt;p&gt;Fortunately, working with Matt B. at BC Tech Support, a solution was found by using a little trick. It turns out that Business Catalyst assumes any URL ending in / is referring to a folder, not a page, which causes BC to report the errors. So you have to trick BC into thinking there is a a page.&lt;/p&gt;
&lt;p&gt;The trick is to redirect &lt;strong&gt;http://www.yoursite.com/some-old-page-name/&lt;/strong&gt; in the old site to &lt;strong&gt;http://www.yoursite.com/some-new-page-name/index.htm &lt;/strong&gt;in the new BC site, even though there really is no page named index.htm.&amp;nbsp; That works to redirect to a Business Catalyst page like&amp;nbsp; &lt;strong&gt;http://www.yoursite.com/some-new-page-name/&lt;/strong&gt; or a BC shopping cart catalog like http://www.yoursite.com/shoes/&lt;/p&gt;
&lt;p&gt;That little trick saved my client from losing hundreds of existing links already recorded in Google search results. &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
</description><link>http://www.atlantawebdesignga.com/RSSRetrieve.aspx?ID=13688&amp;A=Link&amp;ObjectID=325228&amp;ObjectType=56&amp;O=http%253a%252f%252fwww.atlantawebdesignga.com%252f_blog%252fAdobe_Business_Catalyst_Developer%252fpost%252fMigrating_A_Site_into_Adobe_Business_Catalyst_with_Proper_Google_Redirects%252f</link><guid isPermaLink="true">http://www.atlantawebdesignga.com/_blog/Adobe_Business_Catalyst_Developer/post/Migrating_A_Site_into_Adobe_Business_Catalyst_with_Proper_Google_Redirects/</guid><pubDate>Sat, 19 Nov 2011 00:15:00 GMT</pubDate></item><item><title>Sneak Preview  Video: Adobe Business Catalyst V3 Version 3 Lets a Web Developer Design Anything Using Liquid Markup</title><description>&lt;p&gt;&lt;img style="border: 0px solid; float: left;" src="/images/articles/bogdan-ripa.jpg" alt="Bogdan Ripa, Director of Engineering, Adobe Business Catalyst" /&gt;Adobe is busy writing the new Version 3 of Adobe Business Catalyst and what's coming is revealed in a video presentation (below) made by Bogdan Ripa (left) at the Adobe Max Conference in October, 2011. He's the BC Director of Engineering who is leading the BC development team in Romania.&lt;/p&gt;
&lt;p&gt;Two exciting ideas coming in Business Catalyst V3 are "Liquid Markup" that give the developer the power to control the design and logic when the server outputs a page, and "Site Import" which takes an existing website and automatically creates the design templates needed to convert it onto the Business Catalyst platform. Here's more...&lt;/p&gt;
&lt;h2&gt;Business Catalyst Liquid Markup&lt;/h2&gt;
&lt;p&gt;An exciting new feature coming in Business Catalyst V3 is "Liquid Markup" which give the web designer complete control over the way that products and catalogs in an online shopping cart are displayed on screen. Anything is possible, such as displaying products in one catalog in a completely different way than products in another. Liquid Markup also allows customizing in any way the shopping cart and checkout experience. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Summary: &lt;/strong&gt;web designers are free to create anything, because Liquid Markup gives us more ability to control not only what the BC server outputs but also insert conditional programming processes to control decision making. This is a blessing, because often I run into clients who need a different product display or even a different shopping cart checkout experience for the different types of products being sold. In the past, BC limited you to one product display and one checkout process, but that limitation is now being erased.&lt;/p&gt;
&lt;p&gt;Liquid Markup will extend to other parts of Business Catalyst, including web apps and blogs, giving the web developer tremendous power to quickly create powerful online applications or organize written information so web visitors can navigate it more easily.&lt;/p&gt;
&lt;p&gt;Of course, with more power the web developer will need to do a bit more programming to create the Liquid Layout templates that customize the user experience. This process requires someone familiar with programming concepts and not just page design, because Liquid Layout enables the developer to control the program logic flow and the tables and table fields and variables running server side. It literally lets the developer create his own custom programming modules to run however needed. It also lets the developer blend in any jQuery or JavaScript logic with the BC output, resulting in cutting-edge websites that can have the fanciest features imaginable. &lt;/p&gt;
&lt;p&gt;In the past I've sometimes not put a client in the Adobe Business Catalyst platform because I knew it had limitations that wouldn't meet the client's business needs. However, with Version 3 of Business Catalyst, those limits are now erased and I can build any kind of site needed. This truly makes Adobe Business Catalyst the best platform for almost any kind of website.&lt;/p&gt;
&lt;p&gt;Another mind-boggling feature in Business Catalyst Version 3 is the ability to take an existing website on another server, and automatically import the site into Business Catalyst not only creating all the web pages but also the design templates needed to render those pages. In that past, BC could bring in pages, but then the developer had to spend a couple days creating site-wide templates to render the common parts of those pages (header, footer, sidebar columns, etc.) and then manually convert all the existing pages to use those templates. Now instead of spending days, you click a button and the templates are created for you on the server in minutes! I can migrate more clients existing sites into BC quicker and they don't have to pay me for my time to do it. Another reason to prefer Business Catalyst as your favorite web development platform.&lt;/p&gt;
&lt;h3&gt;Business Catalyst Version 3 Video Sneak Preview&lt;/h3&gt;
&lt;iframe scrolling="no" height="296" frameborder="0" width="480" src="http://tv.adobe.com/embed/802/11175/" title="AdobeTV Video Player"&gt;&lt;/iframe&gt;
</description><link>http://www.atlantawebdesignga.com/RSSRetrieve.aspx?ID=13688&amp;A=Link&amp;ObjectID=325404&amp;ObjectType=56&amp;O=http%253a%252f%252fwww.atlantawebdesignga.com%252f_blog%252fAdobe_Business_Catalyst_Developer%252fpost%252fSneak_Preview_Video_Adobe_Business_Catalyst_V3_Version_3_Liquid_Markup%252f</link><guid isPermaLink="true">http://www.atlantawebdesignga.com/_blog/Adobe_Business_Catalyst_Developer/post/Sneak_Preview_Video_Adobe_Business_Catalyst_V3_Version_3_Liquid_Markup/</guid><pubDate>Fri, 28 Oct 2011 03:12:00 GMT</pubDate></item><item><title>Use a Link to Submit A Web App Search Results Page in Adobe Business Catalyst</title><description>&lt;p&gt;I was helping another web designer at &lt;a href="http://www.pizzatoday.com/"&gt;www.PizzaToday.com&lt;/a&gt;
solve some  quirks with Adobe Business Catalyst. On the pizza magazine&amp;rsquo;s site they are have several web apps and one of those lets visitors submit classified ads. Visitors can then go to the classified ads page, choose a category of ads from a search form like &lt;em&gt;Equipment for Sale&lt;/em&gt;, and click the Submit button to get a list of those ads.
&lt;/p&gt;
&lt;p&gt;But the magazine needed another approach. Elsewhere in the site, they needed a link that when clicked would take a web visitor directly to a specific category of classifieds, like the list of Equipment for Sale classifieds, without the visitor having submit the search form.&lt;/p&gt;
&lt;p&gt;Unfortunately, Adobe Business Catalyst has no built-in way to automate this. It normally requires creating a separate page dedicated to displaying each category, which isn't practical when there are many categories of info. &lt;/p&gt;
&lt;p&gt;What PizzaToday.com needed was a way for a link to go to the regular classified search page and automatically act as if the user clicked on one category and automatically produce the correct results list.&lt;/p&gt;
&lt;p&gt;We created the solution using a few lines of jQuery code. Here&amp;rsquo;s how&amp;hellip;&lt;/p&gt;
&lt;p&gt;Normally going to &lt;a href="http://www.pizzatoday.com/classifieds.htm" target="_blank"&gt;www.PizzaToday.com/classifieds.htm&lt;/a&gt; takes you to the page where web visitors search with a web app search form.&lt;/p&gt;
&lt;p&gt;Now we want a &lt;a href="http://www.pizzatoday.com/classifieds.htm?category=Equipment%20for%20Sale" target="_blank"&gt;www.PizzaToday.com/classifieds.htm?category=Equipment for Sale&lt;/a&gt; link to go that page and automatically choose the &lt;em&gt;Equipment for Sale&lt;/em&gt; category and submit the form and immediately produce the chosen ads.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s our solution:&lt;/p&gt;
&lt;pre id="dynamic" class="js"&gt;&lt;code&gt;
&amp;lt;script type="text/javascript"&amp;gt;
   jQuery(document).ready(function(){
   var theCategory = '{ module_url,category}' ;
   if (theCategory) {
      jQuery('form.webapp option:contains("' + theCategory + '")').attr('selected', 'selected');
      jQuery("form.webapp").submit();
  }
 });
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Remember, for this script to work your site must have jQuery loaded. See &lt;a href="/_blog/Adobe_Business_Catalyst_Developer/post/Loading_jQuery_-_Loading_Latest_jQuery_-_Test_If_jQuery_Loaded" target="_blank"&gt;Loading jQuery&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Also, to your web app form on the page, you must add class="webapp" so this script knows which form on your page to work with, since your page may have more than one form.&lt;/p&gt;
&lt;h2&gt;How Does It Work?&lt;/h2&gt;
&lt;p&gt;Adobe Business Catalyst has a &lt;code&gt;{ module_url,variable}&lt;/code&gt; which will look at the address for this page in the browser, and look for a variable at the end of the URL in the format: variable=somevalue. In our example, if we use &lt;code&gt;{module_url,category}&lt;/code&gt; then it will study the page URL &lt;code&gt;http://www.PizzaToday.com/classifieds.htm?category=Equipment for Sale&lt;/code&gt; and look for the word "category" following a ? and if found then &lt;code&gt;{ module_url,category}&lt;/code&gt; will return the value "Equipment for Sale"
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;In line 4 of the script, we store any value following &lt;code&gt;category=&lt;/code&gt; in the URL that called the classifieds page into our variable &lt;code&gt;theCategory&lt;/code&gt;.&lt;/li&gt;
    &lt;li&gt;In line 5, the IF tests if &lt;code&gt;theCategory&lt;/code&gt; has a value, otherwise if it is null then nothing happens and the script ends. If there is a category value we continue...&lt;/li&gt;
    &lt;li&gt;In line 6, the code looks at form with class="webapp" (form.webapp) and in it selects the category value in the form's category select box.&lt;/li&gt;
    &lt;li&gt;In line 7 the code submits the form, causing Business Catalyst to render the search results to display only classifieds in the given category.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Modifying This Code&lt;/h2&gt;
&lt;p&gt;In addition to selecting a category, this code can be changed to use other search fields in the form. For instance, we could put the text parsed off the URL with &lt;code&gt;{ module_url, variable}&lt;/code&gt; into a input text box in our search form and then search for that phrase in the titles of the web app classifieds.&lt;/p&gt;
&lt;p&gt;An example: if we have an input text box where the user types in keywords...&lt;/p&gt;
&lt;pre class="html"&gt;&lt;code&gt;
&amp;lt;input id="CAT_txtKeywords" class="cat_textbox" type="text" name="CAT_txtKeywords" maxlength="255" /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
we can add ?keywords=oven at the end of the link and change line 6 to replace the keywords input box that has name "CAT_txtKeywords" with the value "oven" like this:
&lt;pre id="dynamic" class="js"&gt;&lt;code&gt;
&amp;lt;script type="text/javascript"&amp;gt;// &amp;lt;![CDATA[
   jQuery(document).ready(function(){
   var theKeywords = '{ module_url,keywords}' ;
   if (theKeywords) {
      jQuery('form.webapp input[name="CAT_txtKeywords"]').val(theKeywords);
      jQuery("form.webapp").submit();
  }
 }); 
// ]]&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</description><link>http://www.atlantawebdesignga.com/RSSRetrieve.aspx?ID=13688&amp;A=Link&amp;ObjectID=311042&amp;ObjectType=56&amp;O=http%253a%252f%252fwww.atlantawebdesignga.com%252f_blog%252fAdobe_Business_Catalyst_Developer%252fpost%252fUse_a_Link_to_Submit_A_Web_App_Search_Results_Page_in_Adobe_Business_Catalyst%252f</link><guid isPermaLink="true">http://www.atlantawebdesignga.com/_blog/Adobe_Business_Catalyst_Developer/post/Use_a_Link_to_Submit_A_Web_App_Search_Results_Page_in_Adobe_Business_Catalyst/</guid><pubDate>Tue, 08 Nov 2011 14:13:00 GMT</pubDate></item><item><title>Improving Search Engine Optimization on Adobe Business Catalyst</title><description>&lt;p&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="color: #ff0000;"&gt;NEWS!&lt;/span&gt; Please come back in a week to get the revised version of this article. We've been working with Adobe Tech Support and they are about to release a new solution that will be unveiled in our revised article.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;For those wishing to improve your SEO, here's a tested simple solution that works on any type of Adobe Business Catalyst page: web pages, catalogues, booking events, web apps, etc.&lt;/p&gt;
&lt;p&gt;I've tested on several large BC sites on all types of pages and this solution correctly renders Canonical Links so Google will always know to index your site as www.yourdomain.com instead of as yourdomain.businesscatalyst.com or yourdomain.worldsecuresystems.com.&lt;/p&gt;
&lt;p&gt;For info on how Canonical Links tell Google how to index your site correctly, see &lt;a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;amp;answer=139394"&gt;Google's Info and Video.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Just add the following to the end of your HEAD section atop your various Business Catalyst site templates:&lt;/p&gt;
&lt;pre class="js"&gt;&lt;code&gt;
&amp;lt;link rel="canonical" /&amp;gt;
&amp;lt;script type="text/javascript"&amp;gt;
jQuery(document).ready(function() {
	// for Google search optimization this coverts *.businesscatalyst.com and https://*.worldsecuresystems.com domains to real domain
	// replace your-domain-name.com with your own domain in this code
	var theurl='http://www.your-domain-name.com'+window.location.pathname+window.location.search;
	jQuery("link[rel=canonical]").attr("href",theurl);
	});
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;How this works&lt;/h2&gt;
&lt;p&gt;When a user goes to http://somesite.businesscatalyst.com/somepage.htm when when the page loads, the script replaces the link rel="canonical" with link rel="canonical" href="http://www.yourdomain.com/somepage.htm". That command appearing in your HEAD tells Google to not index the page on the somesite.business.catalyst.com domain but rather only on the yourdomain.com. Neat!&lt;/p&gt;
&lt;p&gt;You can move the script into your .js file if you have other code on your site loading from one file. Of course, you do need to leave the &lt;code&gt;&amp;lt;link rel="canonical" /&amp;gt;&lt;/code&gt; in the HEAD section of your template so the script can modify it.&lt;/p&gt;
&lt;code&gt;
&lt;/code&gt;
&lt;p&gt;Of course, for this script to work your site must have jQuery loaded. See &lt;a href="/_blog/Adobe_Business_Catalyst_Developer/post/Loading_jQuery_-_Loading_Latest_jQuery_-_Test_If_jQuery_Loaded" target="_blank"&gt;Loading jQuery&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you wish to inspect your pages to see how it's working, you need to inspect them with Firebug in Firefox or Developer Tools in IE because the link is modified in DOM; you won't see it inspecting the Page Source.&lt;/p&gt;
&lt;p&gt;You can see this in action of some of my sites like &lt;a href="http://www.murphys-atlanta-restaurant.com"&gt;http://www.murphys-atlanta-restaurant.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visit murphys.worldsecuresystems.com or murphys.businesscatalyst.com and using Firebug you'll see the &lt;code&gt;&amp;lt;link rel="canonical" /&amp;gt;&lt;/code&gt; in the head is telling search engines to index the site as http://www.murphys-atlanta-restaurant.com&lt;/p&gt;
&lt;p&gt;To see an e-commerce store example, inspect kudzu.businesscatalyst.com and in Firebug you'll see the canonical lnk is &lt;a href="http://www.kudzuantiques.com"&gt;http://www.kudzuantiques.com&lt;/a&gt;. Go to product pages and you'll see it works fine in the e-commerce layouts.&lt;/p&gt;
</description><link>http://www.atlantawebdesignga.com/RSSRetrieve.aspx?ID=13688&amp;A=Link&amp;ObjectID=312175&amp;ObjectType=56&amp;O=http%253a%252f%252fwww.atlantawebdesignga.com%252f_blog%252fAdobe_Business_Catalyst_Developer%252fpost%252fImproving_Search_Engine_Optimization_on_Adobe_Business_Catalyst%252f</link><guid isPermaLink="true">http://www.atlantawebdesignga.com/_blog/Adobe_Business_Catalyst_Developer/post/Improving_Search_Engine_Optimization_on_Adobe_Business_Catalyst/</guid><pubDate>Sun, 04 Mar 2012 15:35:00 GMT</pubDate></item><item><title>Make Main Product Image Link to Poplets Thumbnail Slide Show in Adobe Business Catalyst</title><description>&lt;p&gt;In Adobe Business Catalyst shoppers eventually land on a page showing one product for sale. That page normally has one large image of the product, and below it you can optionally add a built-in Business Catalyst feature called Poplets which are thumbnail images that when clicked start a larger slide show of alternate views of the product.&lt;/p&gt;
&lt;p&gt;My client wanted to simply this for shoppers, so when they click the large product image, it reveals a popup window with that image larger plus it becomes the first photo followed by the poplets slide show. Makes perfectly good sense, now shoppers make one click to see all the product's photos instead of clicking twice on the product photo and again on the poplets.&lt;/p&gt;
&lt;p&gt;You can see this in action at &lt;a href="http://www.KudzuAntiques.com" target="_blank"&gt;Kudzu Antiques Market&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To make this happen required adding some jQuery programming code. Here's how we do this in the Admin area of Adobe Business Catalyst:&lt;/p&gt;
&lt;p&gt;1. Click Admin --&amp;gt; Other Customization Options --&amp;gt; Individual Product - Large template.&lt;/p&gt;
&lt;p&gt;2. Click HTML button at bottom.&lt;/p&gt;
&lt;p&gt;My HTML code looks like this:&lt;/p&gt;
&lt;pre class="html"&gt;&lt;code&gt;
&amp;lt;div class="shop-product-large clear"&amp;gt;
&amp;lt;div class="product-name"&amp;gt;
&amp;lt;h1&amp;gt;{tag_name}&amp;lt;/h1&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class="order-info"&amp;gt;
&amp;lt;div class="price-view"&amp;gt;
&amp;lt;div class="price"&amp;gt;{tag_saleprice}&amp;lt;/div&amp;gt;
&amp;lt;div class="view"&amp;gt;&amp;lt;a href="#description"&amp;gt;&amp;lt;img alt="View More" src="/site-images/button-view.png" /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class="quantity-button"&amp;gt;
&amp;lt;div class="quantity"&amp;gt;{tag_addtocartinputfield}&amp;lt;/div&amp;gt;
&amp;lt;div class="button-add-to-cart"&amp;gt;{tag_addtocart,&amp;lt;img alt="Add To Cart" src="/site-images/button-add-to-cart.png" /&amp;gt;}&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class="image"&amp;gt;&amp;lt;a href="{tag_largeimage_path}" onclick="myLightbox.start(this); return false;" rel="lightbox[1]"&amp;gt;&amp;lt;img alt="" src="{tag_largeimage_path}?Action=thumbnail&amp;amp;amp;Width=640&amp;amp;amp;Height=640" /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div class="description"&amp;gt;{tag_description}&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;a name="description"&amp;gt;&amp;lt;/a&amp;gt;
&amp;lt;div class="poplets"&amp;gt;{tag_poplets}&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;3. Now Edit Admin --&amp;gt; Other Customization Options --&amp;gt; Overall Layout in Adobe Business Catalyst&lt;/p&gt;
&lt;p&gt;4. Click HTML button at bottom and at the end of your layout add this jQuery code:&lt;/p&gt;
&lt;pre class="js"&gt;&lt;code&gt;
&amp;lt;script type="text/javascript"&amp;gt;
jQuery(document).ready(function() {
  var popletnumber = jQuery('.productPopletsItem a').attr('rel');
  if (popletnumber ) {
    jQuery('.shop-product-large .image a').attr('rel', popletnumber);
  }
});
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;How the jQuery works: In the HTML we've made the large image a link and added a Javacript event to it: &lt;code&gt;onclick="myLightbox.start(this); return false;" rel="lightbox[1]&lt;/code&gt;. This onclick is like the code that BC normally inserts to call the poplet show, but we've got a dummy parameter [1] since the HTML doesn't know the exact ID number of the poplet show until the page will be rendered for one product.&lt;/p&gt;
&lt;p&gt;When the product page loads, our jQuery script replaces the dummy [1] parameter with the real ID poplet number of the poplet show on the page, if there are poplets. The result is our dummy link on the large product image becomes a real link to start the poplet show when the large image is clicked. The large image becomes the first slide in the slide show, followed by the poplet images.&lt;/p&gt;
&lt;p&gt;In the example HTML above, we could have used Business Catalyst's simple &lt;code&gt;{tag_largeimage}&lt;/code&gt; to display the large image, but we didn't because the client sometimes has large 900px images that are too wide to display within the web page layout's width, which can only accomodate an image up to 640px wide. If we used &lt;code&gt;{tag_largeimage}&lt;/code&gt; then BC would try to put a 900px photos into a 640px space. The solution there is to use the Business Catalyst thumbnail feature to insert the large image no wider than 640px: &lt;code&gt;src="{tag_largeimage_path}?Action=thumbnail&amp;amp;Width=640&amp;amp;Height=640"&lt;/code&gt;. This way, when the 640px image is clicked, the Business Catalyst lightbox effect zooms out to show the 900px photo which becomes the first picture in the poplets slide show.&lt;/p&gt;
&lt;p&gt;Of course, for this script to work your site must have jQuery loaded. See &lt;a href="/_blog/Adobe_Business_Catalyst_Developer/post/Loading_jQuery_-_Loading_Latest_jQuery_-_Test_If_jQuery_Loaded" target="_blank"&gt;Loading jQuery&lt;/a&gt;.&lt;/p&gt;
</description><link>http://www.atlantawebdesignga.com/RSSRetrieve.aspx?ID=13688&amp;A=Link&amp;ObjectID=307977&amp;ObjectType=56&amp;O=http%253a%252f%252fwww.atlantawebdesignga.com%252f_blog%252fAdobe_Business_Catalyst_Developer%252fpost%252fMake_Main_Product_Image_Link_to_Poplets_Thumbnail_Slide_Show_in_Adobe_Business_Catalyst%252f</link><guid isPermaLink="true">http://www.atlantawebdesignga.com/_blog/Adobe_Business_Catalyst_Developer/post/Make_Main_Product_Image_Link_to_Poplets_Thumbnail_Slide_Show_in_Adobe_Business_Catalyst/</guid><pubDate>Sat, 22 Oct 2011 17:51:00 GMT</pubDate></item><item><title>Make Product Thumbnail Images Link To Product Detail Pages in Adobe Business Catalyst with jQuery</title><description>&lt;p&gt;In an Adobe Business Catalyst shopping cart, catalog pages list many products, and a shopper clicks one to view a product page.  The user can click either the product title or the small thumbnail image, providing you render the thumbnail using the Business Catalyst's &lt;code&gt;{tag_smallimage}&lt;/code&gt; which automatically makes the thumbnail into a link to the product page. But that requires creating a small image thumbnail for each product in addition to a large prduct image, a lot of work for a merchant who has lots of products.
&lt;/p&gt;
&lt;p&gt;Most of my e-commerce clients want to upload only one large image for a product, and have Business Catalyst automatically create a small thumbnail image like this: &lt;code&gt;{tag_largeimage_path}?Action=thumbnail&amp;amp;Width=280&amp;amp;Height=280"&lt;/code&gt;. That command creates a 280px thumbnail on the catalog page from the large image, but unfortunately then the thumbnail doesn't automatically become a link to the product.
&lt;/p&gt;
&lt;p&gt;To fix this, we can use jQuery code to wrap the thumbnails with their corresponding links to the product pages.  Here's how...
My HTML code looks like this in the Business Catalyst Admin -&amp;gt; More Customization Options -&amp;gt; Individual Product - Small :
&lt;/p&gt;
&lt;pre class="js"&gt;&lt;code&gt;&amp;lt;script type="text/javascript"&amp;gt;
jQuery.noConflict();
jQuery(document).ready(function() {
  if ( jQuery('.shop-product-small').length != 0 ) {
  jQuery('.shop-product-small .haslink a').each(function(){
     var anchor = jQuery(this).first().attr('href');
     if (anchor) {
       jQuery(this).parents('.shop-product-small').find('.image img').wrap('&amp;lt;a href="' + anchor + '"&amp;gt;&amp;lt;/a&amp;gt;');
     }
  });
  }
});
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The jQuery code finds the product's &amp;lt;a href...&amp;gt; link, then wraps that link as an &amp;lt;a href...&amp;gt; around the image thumbnail.&lt;/p&gt;
&lt;p&gt;The line including jQuery's &lt;strong&gt;each&lt;/strong&gt; method steps through the web page looking for every instance of an anchor &amp;lt;a&amp;gt; element with class="haslink". When it finds one, copies the href link into the anchor variable. Then it searches for the &amp;lt;img alt="" /&amp;gt; following an element with class="image" and wraps it with the anchor element it copied earlier.&lt;/p&gt;
&lt;p&gt;I had to add the &lt;strong&gt;if&lt;/strong&gt; line only because there was a conflict with BC's Poplets feature; adding this line fixed that.&lt;/p&gt;
&lt;p&gt;We put this script in the Overall Layout so it only runs once; we can't put it in the Small Product Layout because the code would be included multiple times, once for each each product.&lt;/p&gt;
&lt;h3&gt;Here's how to use it in your Business Catalyst layout.&lt;/h3&gt;
&lt;p&gt;Add the class="haslink" to whatever element contains the link to your large product page. In a default Business Catalyst small product layout, the &lt;code&gt;{tag_name}&lt;/code&gt; appears within an &amp;lt;h5&amp;gt; and when BC displays the page it replaces &lt;code&gt;{tag_name}&lt;/code&gt; with the product's name wrapped within an HTML &amp;lt;a href...&amp;gt; linking to the product. So add my class="haslink" to the &amp;lt;h5&amp;gt; headline tag that contains the &lt;code&gt;{tag_name}&lt;/code&gt; enabling the jQuery code to know where to find the link.&lt;/p&gt;
&lt;p&gt;The jQuery code also needs to know where to find the HTML &amp;lt;img ...&amp;gt; tag it should wrap with that link. In the default BC layout that's the &lt;code&gt;{tag_smallimage}&lt;/code&gt; within a &amp;lt;div class="image"&amp;gt;. So the code wraps '.image img'. If your layout is different and displays &lt;code&gt;{tag_smallimage}&lt;/code&gt; within a &amp;lt;div class="picture"&amp;gt; then you'd change the code from .image img to .picture img.&lt;/p&gt;
&lt;p&gt;If your HTML in the Business Catalyst Small Product Layout is more complicated, you may need to adjust the jQuery to know where to find the href and img elements. In another client's project the HTML in the Small Product Layout looks like this:&lt;/p&gt;
&lt;pre class="html"&gt;&lt;code&gt;
&amp;lt;div class="shop-product-small clear"&amp;gt;
&amp;lt;div class="order-info"&amp;gt;
&amp;lt;div class="price-view"&amp;gt;
&amp;lt;div class="price"&amp;gt;{tag_saleprice};&amp;lt;/div&amp;gt;
&amp;lt;div class="haslink"&amp;gt;{tag_button,&amp;lt;img src="/site-images/button-view.png" alt="More info" /&amp;gt;};&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class="quantity-button"&amp;gt;
&amp;lt;div class="quantity"&amp;gt;{tag_addtocartinputfield};&amp;lt;/div&amp;gt;
&amp;lt;div class="button-add-to-cart"&amp;gt;{tag_addtocart,&amp;lt;img src="/site-images/button-add-to-cart.png" alt="Add To Cart" /&amp;gt;};&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;h5&amp;gt;{tag_name};&amp;lt;/h5&amp;gt;
&amp;lt;div class="image"&amp;gt;&amp;lt;img src="{tag_largeimage_path}?Action=thumbnail&amp;amp;amp;Width=280&amp;amp;amp;Height=280" alt="" /&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Because the image is separated away from the parent div's containing the href, when the code finds the href link it we need to tell it to start searching for the image starting within the parent element .shop-product-small. Here's how we do that in the script we add to the Overall Layout&lt;/p&gt;
&lt;pre class="js"&gt;&lt;code&gt;
&amp;lt;script type="text/javascript"&amp;gt;
jQuery.noConflict();
jQuery(document).ready(function() {
  if ( jQuery('.shop-product-small').length != 0 ) {
  jQuery('.shop-product-small .haslink a').each(function(){
     var anchor = jQuery(this).first().attr('href');
     if (anchor) {
       jQuery(this).parents('.shop-product-small').find('.image img').wrap('&amp;lt;a href="' + anchor + '"&amp;gt;&amp;lt;/a&amp;gt;');
     }
  });
  }
});
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Of course, for this script to work your site must have jQuery loaded. See &lt;a target="_blank" href="/_blog/Adobe_Business_Catalyst_Developer/post/Loading_jQuery_-_Loading_Latest_jQuery_-_Test_If_jQuery_Loaded"&gt;Loading jQuery&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Good luck.&lt;/p&gt;
</description><link>http://www.atlantawebdesignga.com/RSSRetrieve.aspx?ID=13688&amp;A=Link&amp;ObjectID=312238&amp;ObjectType=56&amp;O=http%253a%252f%252fwww.atlantawebdesignga.com%252f_blog%252fAdobe_Business_Catalyst_Developer%252fpost%252fMake_Product_Thumbnail_Images_Link_To_Product_Detail_Pages_in_Adobe_Business_Catalyst_with_jQuery%252f</link><guid isPermaLink="true">http://www.atlantawebdesignga.com/_blog/Adobe_Business_Catalyst_Developer/post/Make_Product_Thumbnail_Images_Link_To_Product_Detail_Pages_in_Adobe_Business_Catalyst_with_jQuery/</guid><pubDate>Mon, 13 Feb 2012 20:59:00 GMT</pubDate></item></channel></rss>
