Ecommerce Software Design Documentation For Pinnacle Cart
Ecommerce Software Design Documentation For Pinnacle Cart
Ecommerce Software Design Documentation For Pinnacle Cart
Shopping Cart
2011 Desert Dog Marketing, LLC
http://www.pinnaclecart.com/
Publisher Desert Dog Marketing, LLC Managing Editor Mike Rose Technical Editors Mike Rose Sebi Nievas Kyle Weiskopf
http://www.pinnaclecart.com/
Contents
Table of Contents
0
Part I Introduction
1 Overview
................................................................................................................................... 6
Part II Framework
11
1 Base template folder ................................................................................................................................... 11 2 Prebuilt template folder ................................................................................................................................... 12 3 Custom template folder ................................................................................................................................... 13 4 Compiled folder ................................................................................................................................... 13
15
15 16
2 Suggested pathing ................................................................................................................................... 18 3 Working around Smarty ................................................................................................................................... 19 4 Files to not touch ................................................................................................................................... 20
22
1 Creating the................................................................................................................................... 22 file structure 2 Creating the................................................................................................................................... 23 skin.xml 3 Where to go................................................................................................................................... 25 from here
28
1 Design tools ................................................................................................................................... 28 2 Page speed ................................................................................................................................... 28 checkers 3 CSS compliance tools ................................................................................................................................... 28 4 HTML validation tools ................................................................................................................................... 28 5 Language editor ................................................................................................................................... 28
Part VI Appendix
31
1 Examples downloads ................................................................................................................................... 31 2 Skin.xml data ................................................................................................................................... 31 3 Example template layouts ................................................................................................................................... 33 4 CSS reference list ................................................................................................................................... 38 5 Default skin ................................................................................................................................... 55 images
Introduction
I
http://www.pinnaclecart.com/
Introduction
Welcome to the Pinnacle Cart design documentation for cart versions 3.7 and above. Within this document we will cover the core principles behind the templating system, how the skins themselves are structured, how to construct your own skin, as well provide key things to know when building the skins and also some tools that will assist in the skin creation. It is the intent of this documentation to be used by designers who do not wish to use "Design Mode" to create their skins and strictly plan on using raw file editing and/or managing. We strongly encourage that you commit to this method 100% to prevent any conflicts that can occur, which we will touch on later in this document.
1.1
Overview
The templating engine is built around the concept of being able to push core changes to the skin templates during an update/upgrade without interrupting the design that has been created. To achieve this, we have created a tiered or "layered" design platform that compiles into one final skin by essentially stacking on top of each other and getting pushed into a final compilation directory. The primary folders used to achieve this are the following: Base template folder: \content\engine\design Prebuilt template folder: \content\skins\(Prebuilt template name) Custom template folder: \content\skins\_custom Compiled folder: \content\cache\skins\(Custom template name) The first three skins get layered on top of each other during compilation of the skin then get saved into the \content\cache\skins\(Prebuilt template name) folder where (Prebuilt template name) is equal to the name of your active skin. An example name would look like \content\cache\skins\SimpleGreen . In this process the core design is pulled from \content\engine\design then any changes from \content\skins\(Prebuilt template name) are added on top with a higher priority. After this occurs, any changes from \content\skins\_custom are then added as the final layer with the highest priority and the resulting skin files are then fully published into \content\cache\skins\(Prebuilt template name) which is what the end user will see. Below is are more visual examples of how this would work with any files and/or elements: Example A
Base says header is gray Prebuilt says header is teal Custom says header is pink Header is pink due to Custom having highest priority
Introduction
Example B
Base says header is gray Prebuilt says header is teal Custom does not declare a new color Header is teal due to Prebuilt having next highest priority
Example C
Base says header is gray Prebuilt does not declare a new color Custom says header is pink Header is pink due to Custom having highest priority
Example D
Base says header is gray Prebuilt does not declare a new color Custom does not declare a new color Header is gray since Prebuilt and Custom did not have input
1.2
Languages used
While the templates are generically css and html based, there are a few other languages as well as a templating engine being utilized to create the look and feel of the Pinnacle Cart application. Below is a summary of the technologies being used in the cart: HTML - Stands for HyperText Markup Language, is the predominant markup language for web pages. HTML is the basic building-blocks of webpages. HTML is written in the form of HTML elements consisting of tags, enclosed in angle brackets (like <html>), within the web page content. HTML tags normally come in pairs like <h1> and </h1>. The first tag in a pair is the start tag, the second tag is the end tag (they are also called opening tags and closing tags). In between these tags web designers can add text, tables, images, etc. The purpose of a web browser is to read HTML documents and compose them into visual or audible web pages. The browser does not display the HTML tags, but uses the tags to interpret the content of the page.
HTML elements form the building blocks of all websites. HTML allows images and objects to be embedded and can be used to create interactive forms. It provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes and other items. It can embed scripts in languages such as JavaScript which affect the behavior of HTML webpages. Web browsers can also refer to Cascading Style Sheets (CSS) to define the appearance and layout of text and other material. The W3C, maintainer of both the HTML and the CSS standards, encourages the use of CSS over explicitly presentational HTML markup. For more information on HTML please see http://en.wikipedia.org/wiki/Html CSS - Cascading Style Sheets (CSS) is a style sheet language used to describe the presentation semantics (the look and formatting) of a document written in a markup language. Its most common application is to style web pages written in HTML and XHTML, but the language can also be applied to any kind of XML document, including plain XML, SVG and XUL. CSS is designed primarily to enable the separation of document content (written in HTML or a similar markup language) from document presentation, including elements such as the layout, colors, and fonts. This separation can improve content accessibility, provide more flexibility and control in the specification of presentation characteristics, enable multiple pages to share formatting, and reduce complexity and repetition in the structural content (such as by allowing for tableless web design). CSS can also allow the same markup page to be presented in different styles for different rendering methods, such as on-screen, in print, by voice (when read out by a speech-based browser or screen reader) and on Braille-based, tactile devices. While the author of a document typically links that document to a CSS style sheet, readers can use a different style sheet, perhaps one on their own computer, to override the one the author has specified. CSS specifies a priority scheme to determine which style rules apply if more than one rule matches against a particular element. In this so-called cascade, priorities or weights are calculated and assigned to rules, so that the results are predictable. For more information on CSS please see http://en.wikipedia.org/wiki/CSS JavaScript - Also known as ECMAScript, is a prototype-based, object-oriented] scripting language that is dynamic, weakly typed and has first-class functions. It is also considered a functional programming language like Scheme and OCaml because it has closures and supports higher-order functions. JavaScript is an implementation of the ECMAScript language standard and is primarily used in the form of client-side JavaScript, implemented as part of a web browser in order to provide enhanced user interfaces and dynamic websites. This enables programmatic access to computational objects within a host environment. JavaScript's use in applications outside web pagesfor example in PDF documents, site-specific browsers and desktop widgetsis also significant. Newer and faster JavaScript VMs and frameworks built upon them (notably Node.js) have also increased the popularity of JavaScript for server-side web apps. For more information on Javascript please see http://en.wikipedia.org/wiki/Javascript Xajax - xajax is an open source PHP class library implementation of AJAX that gives developers the ability to create web-based Ajax applications using HTML, CSS, JavaScript, and PHP. Applications developed with xajax can asynchronously call server-side PHP functions and update content without reloading the page.
Introduction
Unlike some other Ajax frameworks, xajax is designed to allow the programmer to have no prior knowledge of JavaScript. For more information on xajax please see http://en.wikipedia.org/wiki/Xajax jQuery - jQuery is a cross-browser JavaScript library designed to simplify the client-side scripting of HTML. It was released in January 2006 at BarCamp NYC by John Resig. Used by over 43% of the 10,000 most visited websites, jQuery is the most popular JavaScript library in use today. jQuery is free, open source software, dual-licensed under the MIT License and the GNU General Public License, Version 2. jQuery's syntax is designed to make it easier to navigate a document, select DOM elements, create animations, handle events, and develop Ajax applications. jQuery also provides capabilities for developers to create plug-ins on top of the JavaScript library. Using these facilities, developers are able to create abstractions for low-level interaction and animation, advanced effects and high-level, theme-able widgets. This contributes to the creation of powerful and dynamic web pages. For more information on jQuery please see http://en.wikipedia.org/wiki/Jquery XML - Extensible Markup Language (XML) is a set of rules for encoding documents in machinereadable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards. The design goals of XML emphasize simplicity, generality, and usability over the Internet. It is a textual data format with strong support via Unicode for the languages of the world. Although the design of XML focuses on documents, it is widely used for the representation of arbitrary data structures, for example in web services. Many application programming interfaces (APIs) have been developed that software developers use to process XML data, and several schema systems exist to aid in the definition of XML-based languages. For more information on XML please see http://en.wikipedia.org/wiki/XML Smarty - Smarty is a web template system written in PHP. Smarty is primarily promoted as a tool for separation of concerns. Smarty is intended to simplify compartmentalization, allowing the presentation of a web page to change separately from the back-end. Ideally, this eases the costs and efforts associated with software maintenance. Smarty generates web content by the placement of special Smarty tags within a document. These tags are processed and substituted with other code. Tags are directives for Smarty that are enclosed by template delimiters. These directives can be variables, denoted by a dollar sign ($), functions, logical or loop statements. Smarty allows PHP programmers to define custom functions that can be accessed using Smarty tags. For more information on Smarty please see http://en.wikipedia.org/wiki/Smarty
Framework
II
http://www.pinnaclecart.com/
Framework
11
Framework
As discussed earlier in this document, the templating engine compiles your template into one after pulling from three other folders and stacking them on top of each other based upon priority. Here we will go through the different skin folders and their primary intent in a more in depth fashion.
2.1
images javascript styles styles\elements templates templates\admin templates\email templates\email\elements templates\layouts\ templates\layouts\zones templates\pages\ templates\pages\account templates\pages\account\elements templates\pages\catalog templates\pages\catalog\elements
Custom skin images Skin javascript files Skin CSS files Skin CSS files for specific site elements (used by Styles Editor in Design Mode) Smarty templates main folder Design mode related templates. E-mail templates E-mail templates top and bottom Site layouts Main parts of site layout site header, footer, navigation bar, side bars Site pages templates separated by groups Pages related to user account log-in, sign up, profile, address book, etc Common parts for account templates Product catalog and product search pages Elements for catalog pages such as navigation bar, bread crumbs, page break control and product preview parts Custom views for catalog pages Checkout-relates pages
templates\pages\catalog\views templates\pages\checkout
12
templates\pages\checkout\one-page-checkout templates\pages\checkout\traditional-checkout templates\pages\gift-certificate templates\pages\google templates\pages\newsletters templates\pages\product templates\pages\product\elements templates\pages\product\views templates\pages\site templates\pages\wishlist templates\panels templates\panels\includes templates\wrappers templates\wrappers\elements
Includes for one-page-checkout Includes for traditional checkout Gift certificate pages Good conversion and coupon includes Newsletter subscribe / unsubscribe pages Product page views and elements Product page peaces Product page views (different combinations of product/elements) Common site pages (home page, site map, international settings, etc) Wish list management pages Site panels such as products categories, products search box, bestsellers, etc) Additional files for panels Site wrappers (basically wrapper creates environment for layout) Wrapper shared elements
2.2
into
content\skins\MyNewSkin\templates\layouts\zones\header.html
the Base template intact. This is the process you would want to consistently follow to edit mostly all of the template files. Keeping them all here will also make packaging of your skin tons easier if you plan to do things like resell it or provide it to another Pinnacle Cart User.
Framework
13
2.3
2.4
Compiled folder
The Compiled folder is where the compilation of the previous three templates ends up. This is the template the person visiting the site will see and browse the site on. The current location for this folder is \content\cache\skins\(Prebuilt template name) where Prebuilt template name is equal to the name of your active skin. An example folder would look like \content\cache\skins\MyNewSkin . This folder gets written to every time the cart is told to recompile the templates either through entering Design Mode or navigating through the site when devmode is active. Due to that, you will never want to save any changes here as they will promptly get overwritten and your work will get lost unfortunately.
III
http://www.pinnaclecart.com/
15
3.1
3.1.1
16
2. Click on Activate Cart Designer in the Quick Links section of your admin area, located on the left hand side.
3. Once it has loaded, you'll then simply hit the Exit button, located in the bottom right hand corner of Design Mode. You don't need to do anything in Design Mode its self, the act of activating it rebuilds the cache.
The drawback to this method is the process can be tiresome to reload your design every time, but it does not impact the performance of your site.
3.1.2
17
To enable Dev Mode, you will want to do the following: 1. Connect to your deployed cart via an editor of your choice (FTP, SSH, SFTP, Etc..) For this exercise we will do it via SFTP .
18
4. Add in a new line above the php closing tag ( ?> ) with the text of " define('DEVMODE', 'True'); " and then save the changes
The draw back to this method is that if it is not turned of during "visitor hours" it will slow down the performance of your site as every visitor will be rebuilding your template consistently. To turn it off you can set the flag to False instead of True, then change back when needed.
3.2
Suggested pathing
The Pinnacle Cart application operates in both a non-secure and secure environment in order to maintain PA-DSS compliance . Due to this we strongly suggest making sure all of your designs use relative pathing over absolute pathing. If you do not do so, you run a high chance of getting security warnings when your site goes into secure mode.
19
Absolute pathing is commonly seen when calling images and/or other media such as flash and video. An example of this would be something like <a href="http://www.domain.com" >< img src="http://www. domain.com/image.jpg"></a> As you see in this example we use the full image path including the domain name its self. If you used code like this in say your header or footer, what happens is that your cart will start throwing errors during checkout. In Internet Explorer you will get an error message right away complaining about insecure content being loaded from a non-secure directory. The way to keep this from happening is to use relative pathing wherever possible. An example would look like <a href="http://www.domain.com" >< img src="image.jpg"></a> . Notice that in the image call only the image is referenced as the image is located in webroot. If it was located in a subdirectory the call would look something like < img src="images/image.jpg"> . Maintaining this basic design principle will greatly increase site speeds and keep insecure content warnings from appearing.
3.3
20
Doing it that way renders any actual Smarty variables that may be present inside the code chunk useless. Now with php code, to have Smarty recognize and parse it properly you will want to use the {php} {/ php} smarty tags instead of <? ?> or <?php ?> . Below is what an adjusted Hello World would look like. Not inside a smarty engine: <?php Echo "Hello, World!"; ?> Inside a smarty engine: {php} Echo "Hello, World!"; {/php}
3.4
Next in line would be the javascript files in \content\engine\design\javascript . Any custom tidbits of javascript would want to be passed into \content\skins\(Prebuilt template name) \templates\javascript\skin.js . There you can put in any new js code needed for the site, or if you need to pass in variables to override default variables from the existing files in \content\engine\design\javascript . Similarly you'll also not want to edit \content\engine\design\styles\base.css when adding in your own css, regardless of wether you are adding in new elements or overriding existing ones. When you are dropping in your new css, you'll add it to \content\skins\(Prebuilt template name)\styles\skin.css Lastly we very strongly recommend you do not edit the opc html files at all wether through direct edits in \content\engine\design\templates\pages\checkout\opc or by copying them into your custom skin. The reason for this is that it is highly sensitive and if we are having to push new skin/js files for that section it is likely due to a bug that needed to get fixed and if you have edited them/duplicated them you may not get the update properly. Editing the css elements for those pages is fine though and highly encouraged to help create the custom look you are going for.
IV
http://www.pinnaclecart.com/
22
4.1
After you have created the folder, it is recommended you download the defaultfolders zip file to your desktop, extract it, then upload the folders into your new template folder. Doing this will make it easier to copy files from the Base template folder in your custom template. After the upload, the structure should look similar to below:
Now that you have the default folders inside of your custom skin, we can move onto the skin.xml which is what the cart uses to get the information about your skin to output into the admin area.
23
4.2
This is the default structure of the skin.xml with some default data added into it. After dropping the xml in, you'll want to start updating the different variables. To set the title of your skin you change the value of <title></title> to one of you choosing. This variable will be what is displayed in the admin area for the skin selectors. For our skin, we'll change it to My New Skin, so the end result will look like:
<?xml version="1.0" encoding="UTF-8"?> <skin> <title>My New Skin</title> <name>skin_template</name> <author>nobody</author> <thumbnail>previewThumbnail.jpg</thumbnail> <preview>previewFullsize.jpg</preview> <images> <image title="Catalog View">screenshot1.jpg</image> </images> <settings> <DesignTopMenuAvailable>NO</DesignTopMenuAvailable> </settings> </skin>
To set the name of your skin you change the value of <name></name> to one of you choosing. This value must match exactly the name of your custom templates folder. For our skin, we'll change it to MyNewSkin so the end result will look like
<?xml version="1.0" encoding="UTF-8"?> <skin> <title>My New Skin</title> <name>MyNewSkin</name> <author>nobody</author> <thumbnail>previewThumbnail.jpg</thumbnail> <preview>previewFullsize.jpg</preview> <images> <image title="Catalog View">screenshot1.jpg</image> </images> <settings> <DesignTopMenuAvailable>NO</DesignTopMenuAvailable> </settings> </skin>
24
To set the author of your skin you change the value of <author></author> to one of you choosing. This value can be anything you like such as your name or your company's name. For our skin well change it to Pinnacle Cart so the end result will look like
<?xml version="1.0" encoding="UTF-8"?> <skin> <title>My New Skin</title> <name>MyNewSkin</name> <author>Pinnacle Cart</author> <thumbnail>previewThumbnail.jpg</thumbnail> <preview>previewFullsize.jpg</preview> <images> <image title="Catalog View">screenshot1.jpg</image> </images> <settings> <DesignTopMenuAvailable>NO</DesignTopMenuAvailable> </settings> </skin>
One of the things you can do with the skin.xml is set thumbnail and preview images of your skins. You likely would not have anything to present right away at the start of the template creation, but once you did, you would update the <thumbnail> and <preview> fields respectively. The images would go into the root folder of your skin, for example \content\skins\MyNewSkin\MyNewSkinThumb,jpg
<?xml version="1.0" encoding="UTF-8"?> <skin> <title>My New Skin</title> <name>MyNewSkin</name> <author>Pinnacle Cart</author> <thumbnail>MyNewSkinThumb.jpg</thumbnail> <preview>MyNewSkinPreview.jpg</preview> <images> <image title="Catalog View">screenshot1.jpg</image> </images> <settings> <DesignTopMenuAvailable>NO</DesignTopMenuAvailable> </settings> </skin>
You can also supply additional images that will get shown in the admin for the skin to show case different areas of your design once it is complete. To do so you would duplicate the <image> section for as many images as you are adding. For our example, we will showcase our footer.
<?xml version="1.0" encoding="UTF-8"?> <skin> <title>My New Skin</title> <name>MyNewSkin</name> <author>Pinnacle Cart</author> <thumbnail>MyNewSkinThumb.jpg</thumbnail> <preview>MyNewSkinPreview.jpg</preview> <images> <image title="Awesome Footer">footer.jpg</image> </images> <settings> <DesignTopMenuAvailable>NO</DesignTopMenuAvailable> </settings> </skin>
25
Lastly you can use the <settings> section to control different design elements to be controlled by the skin.xml upon activation. Right now it can control only the top menu but we will be expanding the functionality greatly in future releases.
<?xml version="1.0" encoding="UTF-8"?> <skin> <title>My New Skin</title> <name>MyNewSkin</name> <author>Pinnacle Cart</author> <thumbnail>MyNewSkinThumb.jpg</thumbnail> <preview>MyNewSkinPreview.jpg</preview> <images> <image title="Awesome Footer">footer.jpg</image> </images> <settings> <DesignTopMenuAvailable>Yes</DesignTopMenuAvailable> </settings> </skin>
After you have setup your skin.xml, save it, then upload it into the root of your skin folder. For example ours would go into \content\skins\MyNewSkin\skin.xml For further information on the skin.xml as well as the default example, please see Skin.xml data in the Appendix
4.3
into your skin folder using the same pathing, for example it would be dropped into
\content\skins\MyNewSkinName\templates\layouts\zone\footer.html
and then you can start editing the newly created footer.html to make your changes. To see your changes, use one of the cache rebuilding methods list in Rebuilding skin cache.
into your skin folder using the same pathing, for example it would be dropped into
\content\skins\MyNewSkinName\templates\pages\site\home.html
and then you can start editing the newly created home.html to make your changes. To see your changes, use one of the cache rebuilding methods list in Rebuilding skin cache.
26
and update background color to have your custom color as shown below
.panel .title { background-color: #FF55AA; color: white; }
and save the change. To see your changes, use one of the cache rebuilding methods list in Rebuilding skin cache. This is basically the whole process for adding in your own code, css, and images. For some helpful examples as to how each page is laid out, check out the Example template layouts section of the Appendix.
Useful Tools
V
http://www.pinnaclecart.com/
28
5
5.1
Useful Tools
Design tools
In order to facilitate finding the different CSS elements through out a skin, we recommend using some of the various design tools built into the different browsers. Each utility has the ability to inspect sections of a website and give you the HTML and/or CSS controlling that element. Firebug for Firefox http://getfirebug.com/ Developer tools for Chrome http://code.google.com/chrome/devtools/docs/overview.html Internet Explorer developer tools http://msdn.microsoft.com/en-us/library/dd565628%28v=vs.85%29.aspx
5.2
5.3
5.4
5.5
Language editor
One of the more powerful tools in the cart is the Language Editor located in Cart Settings > Global Cart Settings > Languages and Currencies > Languages For a quick visual walkthrough on accessing the languages area, check out http://support.pinnaclecart.
2011 Desert Dog Marketing, LLC
http://www.pinnaclecart.com/
Useful Tools
29
com/tutorials/languages/languages.htm This is not directly related to editing the design template, but it does control all of the default text in your website which is handy to know in case say you wanted to change 'My Cart' to say 'My Shopping Cart' for example. We feel this is definitely one of the most commonly overlooked but very powerful features of the cart. If you have any questions on using it, please feel free to let us know or checkout the Languages section in our user manual. Of note though, that if you do utilize the feature and plan to send the skin out to another customer, you will want to include the language file as well for them to deploy. If this does occur, you can get the language file from your \content\languages folder.
Appendix
VI
http://www.pinnaclecart.com/
Appendix
31
6
6.1
Appendix
Examples downloads
Default folder hierarchy for custom skins
http://www.cartmanual.com/manuals/defaultfolders.zip
6.2
Skin.xml data
Example skin.xml contents
<?xml version="1.0" encoding="UTF-8"?> <skin> <title>Sample Title</title> <name>skin_template</name> <author></author> <thumbnail>previewThumbnail.jpg</thumbnail> <preview>previewFullsize.jpg</preview> <images> <image title="Catalog View">screenshot1.jpg</image> <image title="Product Details">screenshot2.jpg</image> <image title="View Cart">screenshot3.jpg</image> </images> <settings> <DesignTopMenuAvailable>NO</DesignTopMenuAvailable> </settings> </skin>
32
Description
Required. The skin XML definition must begin with this as the root tag Required. This value should be the same as the custom skin folder name. Recommended. The title of the skin. Recommended. The custom skins creator name. Recommended. The path to the thumbnail image used as a preview of the custom skin that is relative to the custom skin folder name. Recommended. The skin XML definition must begin with this as the root tag Optional. Icon used to view the customers My Cart page. Required only if skin/images tag has been set. The value should be the relative path to the image from the skin's directory. Optional. The title attribute can be used to set caption text for the skin image. Optional. Additional skin settings can be set within this tag block.
DesignTopMenuAvailable Optional. Acceptable values are YES or NO. Values are case sensitive. defaultLayoutElements Optional. A serialized array of where the default position of boxes should appear for this skin.
Appendix
33
6.3
34
Appendix
35
36
Appendix
37
38
6.4
Header
Site header container Site header Site header links
.page .container-header .page .layout-zone-header .page .layout-zone-header a
Navigation
Site navigation container Site navigation
.page .container-navigation .page .layout-zone-navigation
Menu
Site menu container .page .container-menu Site menu Site menu links
.page .layout-zone-menu .page .layout-zone-menu a
Content
Site content Site content links
.page .layout-zone-content .page .layout-zone-content a
Forms
Form header Field label
.page h3 .page .field label
Appendix
39
Footer
Site footer container .page .container-footer Site footer Site footer links
.page .layout-zone-footer .page .layout-zone-footer a
Images
Site logo Site slogan Home page image Hot deal mark No image mark (small)
.page .image-logo .page .image-slogan .page .image-home .page .image-hot-deal .page .image-no-image-small
No image mark (big) .page .image-no-image-big Cart image in top bar Delete item from a cart CVV2 Number help image Check numbers help image Click-to-view Print version Gift certificate image
.page .image-cart
.page .image-delete-item
.page .image-cvv2
Buttons
Common style Start search Catalog navigation
.page input.button,input.submit,input.reset .page input.button-start-search .page input.button-catalog-navigation
40
Add to cart Checkout Subscribe Unsubscribe Continue Continue with order Continue shopping Login Register Reset Update Complete Purchase Process payment Save Add address Reset password Email to a friend Get shipping rates
.page input.button-add-to-cart .page input.button-checkout .page input.button-subscribe .page input.button-unsubscribe .page input.button-continue .page input.button-continue-with-order .page input.button-continue-shopping .page input.button-login .page input.button-register .page input.button-reset .page input.button-update-cart .page input.button-complete .page input.button-purchase .page input.button-process-payment .page input.button-save .page input.button-add-address .page input.button-reset-password .page input.button-email-to-friend .page input.button-get-shipping-rates
Get shipping quotes .page input.button-get-shipping-quotes Gift certificate balance Add wish list Update wish list Send wish list Send review Close review Testimonial Submit
.page input.button-gift-certificate-balance .page input.button-add-wishlist .page input.button-update-wishlist .page input.button-send-wishlist .page input.button-review-send .page input.button-review-close .page input.button-testimonial-submit
2011 Desert Dog Marketing, LLC
http://www.pinnaclecart.com/
Appendix
41
Boxes
Global styles for all boxes
Box header Box content Link styles
.panel .title .panel .content .panel a
Search catalog
Box header Box content Link styles
.panel-catalog-search .title .panel-catalog-search .content .panel-catalog-search a
Bestsellers
Box header Box content Link styles
.panel-catalog-bestsellers .title .panel-catalog-bestsellers .content .panel-catalog-bestsellers a
Catalog categories
Box header Box content Link styles
.panel-catalog-categories .title .panel-catalog-categories .content .panel-catalog-categories a
Manufacturers
Box header Box content Link styles
.panel-catalog-manufacturers .title .panel-catalog-manufacturers .content .panel-catalog-manufacturers a
Recently viewed
2011 Desert Dog Marketing, LLC
http://www.pinnaclecart.com/
42
Account profile
Box header Box content Link styles
.panel-account-profile .title .panel-account-profile .content .panel-account-profile a
Checkout
Box header Box content Link styles
.panel-checkout .title .panel-checkout .content .panel-checkout a
View cart
Box header Box content Link styles
.panel-checkout-cart .title .panel-checkout-cart .content .panel-checkout-cart a
Newsletter signup
Box header Box content Link styles
.panel-newsletters-subscribe .title .panel-newsletters-subscribe .content .panel-newsletters-subscribe a
Menus
Top menu
Menu background Menu item Menu item hover
.layout-zone-menu ul.drop-down-menu .layout-zone-menu a.drop-down-menu-item .layout-zone-menu a.drop-down-menu-item-hover
Side menu
Menu background
.panel-catalog-categories ul.drop-down-menu
Appendix
43
Catalog pages
Common styles
Page header Content Content links Bread crumbs Bread crumbs links Navigation Page breaks Page breaks links Page breaks current page
.page-catalog h1 .page-catalog .layout-zone-content .page-catalog .layout-zone-content a .page-catalog .catalog-bread-crumbs .page-catalog .catalog-bread-crumbs a .page-catalog .catalog-navigation .page-catalog .catalog-page-breaks .page-catalog .catalog-page-breaks a .page-catalog .catalog-page-breaks .active
Sort/View dropdowns
Menu background Menu item Menu item hover
.catalog-navigation ul.drop-down-menu .catalog-navigation a.drop-down-menu-item .catalog-navigation a.drop-down-menu-item-hover
.page .catalog-product-title a .page .catalog-product-title .page .catalog-product-id .page .catalog-product-image .page .catalog-product-overview .page .catalog-product-price .price-label .page .catalog-product-price .price-amount
44
amount Product sale price label Product sale price amount Product case pack Product hot deal
.page .catalog-product-sale-price .sale-price-label
Product out of stock .page .catalog-product-out-of-stock Product click to view .page .catalog-product-click-to-view a Product category link
.page .catalog-product-more-in-category a
Text view
Product title Product title background Product ID Product image Product overview Product price label Product price amount Product sale price label Product sale price amount Product case pack Product hot deal
.catalog-view-text .catalog-product-title a .catalog-view-text .catalog-product-title .catalog-view-text .catalog-product-id .catalog-view-text .catalog-product-image .catalog-view-text .catalog-product-overview .catalog-view-text .catalog-product-price .price-label .catalog-view-text .catalog-product-price .price-amount
Product out of stock .catalog-view-text .catalog-product-out-of-stock Product click to view .catalog-view-text .catalog-product-click-to-view a Product category link
.catalog-view-text .catalog-product-more-in-category a
Appendix
45
Product out of stock .catalog-view-thumb1 .catalog-product-out-of-stock Product click to view .catalog-view-thumb1 .catalog-product-click-to-view a Product category link
.catalog-view-thumb1 .catalog-product-more-in-category a
46
Product sale price label Product sale price amount Product case pack Product hot deal
.catalog-view-thumb1-clean .catalog-product-sale-price .sale-price-label .catalog-view-thumb1-clean .catalog-product-sale-price .sale-price-amount .catalog-view-thumb1-clean .catalog-product-case-pack .catalog-view-thumb1-clean .catalog-product-hot-deal
Product out of stock .catalog-view-thumb1-clean .catalog-product-out-of-stock Product click to view .catalog-view-thumb1-clean .catalog-product-click-to-view a Product category link
.catalog-view-thumb1-clean .catalog-product-more-in-category a
Product out of stock .catalog-view-thumb2 .catalog-product-out-of-stock Product click to view .catalog-view-thumb2 .catalog-product-click-to-view a Product category link
.catalog-view-thumb2 .catalog-product-more-in-category a
Appendix
47
Product title Product title background Product ID Product image Product overview Product price label Product price amount Product sale price label Product sale price amount Product case pack Product hot deal
.catalog-view-display .catalog-product-title a .catalog-view-display .catalog-product-title .catalog-view-display .catalog-product-id .catalog-view-display .catalog-product-image .catalog-view-display .catalog-product-overview .catalog-view-display .catalog-product-price .price-label .catalog-view-display .catalog-product-price .price-amount
Product out of stock .catalog-view-display .catalog-product-out-of-stock Product click to view .catalog-view-display .catalog-product-click-to-view a Product category link
.catalog-view-display .catalog-product-more-in-category a
48
Product sale price amount Product case pack Product hot deal
Product out of stock .catalog-view-display .catalog-product-out-of-stock Product click to view .catalog-view-display .catalog-product-click-to-view a Product category link
.catalog-view-display .catalog-product-more-in-category a
Product out of stock .catalog-view-thumb3 .catalog-product-out-of-stock Product click to view .catalog-view-thumb3 .catalog-product-click-to-view a Product category link
.catalog-view-thumb3 .catalog-product-more-in-category a
Appendix
49
Product title background Product ID Product image Product overview Product price label Product price amount Product sale price label Product sale price amount Product case pack Product hot deal
.catalog-view-thumb3-clean .catalog-product-title .catalog-view-thumb3-clean .catalog-product-id .catalog-view-thumb3-clean .catalog-product-image .catalog-view-thumb3-clean .catalog-product-overview .catalog-view-thumb3-clean .catalog-product-price .price-label .catalog-view-thumb3-clean .catalog-product-price .price-amount
.catalog-view-thumb3-clean .catalog-product-sale-price .sale-price-label .catalog-view-thumb3-clean .catalog-product-sale-price .sale-price-amount .catalog-view-thumb3-clean .catalog-product-case-pack .catalog-view-thumb3-clean .catalog-product-hot-deal
Product out of stock .catalog-view-thumb3-clean .catalog-product-out-of-stock Product click to view .catalog-view-thumb3-clean .catalog-product-click-to-view a Product category link
.catalog-view-thumb3-clean .catalog-product-more-in-category a
Flexible
Product title Product title background Product ID Product image Product overview Product price label Product price amount Product sale price label Product sale price
2011 Desert Dog Marketing, LLC
http://www.pinnaclecart.com/
.catalog-view-flexible .catalog-product-title a .catalog-view-flexible .catalog-product-title .catalog-view-flexible .catalog-product-id .catalog-view-flexible .catalog-product-image .catalog-view-flexible .catalog-product-overview .catalog-view-flexible .catalog-product-price .price-label .catalog-view-flexible .catalog-product-price .price-amount
50
Product out of stock .catalog-view-flexible .catalog-product-out-of-stock Product click to view .catalog-view-flexible .catalog-product-click-to-view a Product category link
.catalog-view-flexible .catalog-product-more-in-category a
Product page
Common
Product title Bread crumbs Bread crumbs links Product ID Product image Product price label Product price amount Product sale price label Product sale price amount Product case pack Product hot deal
.page-product .product-title .page-product .product-bread-crumbs .page-product .product-bread-crumbs a .page-product .product-id .page-product .product-image .page-product .product-price .price-label .page-product .product-price .price-amount
Product out of stock .page-product .product-out-of-stock Overview Description Secondary images Reviews
.page-product .product-overview .page-product .product-description .page-product .product-secondary-images .page-product .product-reviews
Appendix
51
Recommended products
.page-product .product-recommended
Account pages
Account home page
Page header Content Content links
.page-account h1 .page-account .layout-zone-content .page-account .layout-zone-content a
Address book
Page header Content Content links
.page-address-book h1 .page-address-book .layout-zone-content .page-address-book .layout-zone-content a
Address edit
Page header Content Content links
.page-address-edit h1 .page-address-edit .layout-zone-content .page-address-edit .layout-zone-content a
Auth error
Page header Content Content links
.page-auth-error h1 .page-auth-error .layout-zone-content .page-auth-error .layout-zone-content a
Login page
Page header Content
.page-login h1 .page-login .layout-zone-content
52
Content links
.page-login .layout-zone-content a
Orders page
Page header Content Content links
.page-orders h1 .page-orders .layout-zone-content .page-orders .layout-zone-content a
Order page
Page header Content Content links
.page-order h1 .page-order .layout-zone-content .page-order .layout-zone-content a
Password reset
Page header Content Content links
.page-password-reset h1 .page-password-reset .layout-zone-content .page-password-reset .layout-zone-content a
Profile
Page header Content Content links
.page-profile h1 .page-profile .layout-zone-content .page-profile .layout-zone-content a
Signup
Page header Content Content links
.page-signup h1 .page-signup .layout-zone-content .page-signup .layout-zone-content a
Checkout pages
Billing and Shipping
Page header Content Content links
.page-billing-and-shipping h1 .page-billing-and-shipping .layout-zone-content .page-billing-and-shipping .layout-zone-content a
Appendix
53
Cart page
Page header Content Content links
.page-cart h1 .page-cart .layout-zone-content .page-cart .layout-zone-content a
Completed
Page header Content Content links
.page-completed h1 .page-completed .layout-zone-content .page-completed .layout-zone-content a
Invoice
Page header Content Content links
.page-invoice h1 .page-invoice .layout-zone-content .page-invoice .layout-zone-content a
Payment validation
Page header Content Content links
.page-payment-validation h1 .page-payment-validation .layout-zone-content .page-payment-validation .layout-zone-content a
Shipping method
Page header Content Content links
.page-shipping-method h1 .page-shipping-method .layout-zone-content .page-shipping-method .layout-zone-content a
Shipping quote
Page header Content
2011 Desert Dog Marketing, LLC
http://www.pinnaclecart.com/
54
Content links
.page-shipping-quote .layout-zone-content a
Newsletters pages
Subscribe
Page header Content Content links
.page-subscribe h1 .page-subscribe .layout-zone-content .page-subscribe .layout-zone-content a
Unsubscribe
Page header Content Content links
.page-unsubscribe h1 .page-unsubscribe .layout-zone-content .page-unsubscribe .layout-zone-content a
Site pages
Not found page
Page header Content Content links
.page-404 h1 .page-404 .layout-zone-content .page-404 .layout-zone-content a
Home page
Page header Content Content links
.page-home h1 .page-home .layout-zone-content .page-home .layout-zone-content a
International settings
Page header Content Content links
.page-international h1 .page-international .layout-zone-content .page-international .layout-zone-content a
Site map
Page header
.page-site-map h1
Appendix
55
Text pages
Page header Content Content links
.page-text h1 .page-text .layout-zone-content .page-text .layout-zone-content a
Testimonials
Page header Content Content links
.page-testimonials h1 .page-testimonials .layout-zone-content .page-testimonials .layout-zone-content a
6.5
Element ID
image-logo image-home image-hot-deal image-slogan image-no-image-small
Description
The storefront logo image. The storefront home page image. The product hot deal image. The storefront slogan image that is usually next to the storefront logo. Small version of image used to indicate that a preview image is not available for a product. Large version of image used to indicate that a preview image is not available for a product. Icon used to view the customers My Cart page. Icon used on the My Cart page and My Cart box to remove items from the cart. Helper icon used in the checkout process to show where the customer can find the CVV2 number on their credit card. Helper icon used in the checkout process to show the customer an example of a check. Icon used on product listings that links the customer to the product detail page. Icon used for link to a printer-friendly version of the current pages content.
image-no-image-big
Cart image in top bar Delete item from a cart CVV2 Number help image Check numbers help image Click-to-view Print version
image-check
image-click-to-view image-print-version
56
Gift certificate image Start search Catalog navigation Add to cart Checkout Subscribe Unsubscribe Continue Continue with order
Icon used for the gift certificate page. Button used for search forms on the storefront. Button used for catalog navigation. Button used when adding a product to the shopping cart. Button used to begin checkout. Button used to subscribe to the stores newsletter and product updates. Button used to unsubscribe from the stores newsletter and product updates. Button used to continue to the next step in the checkout process. Button used to proceed to the billing/shipping page of the checkout process. Button used on the My Cart page to return to the stores catalog to continue adding items to the cart. Button used on the customers login form. Button used on the customers registration form. Button used to reset the form. Button used on the My Cart page to update the details of the shopping cart. Button used to complete orders where a payment is not due at the time, such as a free order or a custom payment gateway. Button used to submit payment information and complete the order. Button used to submit payment information and complete the order. Button used to save a form. Button used to submit the add address form. Button used to submit the reset password form. Button used to submit the email to friend form. Button used to get shipping rates. Button used to submit the shipping quotes feature.
Continue shopping
button-continue-shopping
Purchase Process payment Save Add address Reset password Email to a friend Get shipping rates Get shipping quotes Gift certificate balance Add wish list
button-gift-certificate-balance Button used to check a gift certificate balance. button-add-wishlist Button used to create a wishlist.
2011 Desert Dog Marketing, LLC
http://www.pinnaclecart.com/
Appendix
57
Update wish list Send wish list Send review Close review Testimonial Submit
Button used to update the wishlist. Button used to submit the wishlist form to send. Button used on the product reviews form to submit a review. Button used on the product reviews form to close the form. Button used to submit the testimonial form.