Products Component Layout

Overview

The product templates include a multitude of ecommerce-enhanced features and should be used in instances where an add-to-cart action is needed.

Some of the differences you will find between the component layouts:

  • Some offer the ability to purchase from the product list page
  • Add to cart messaging
  • Product detail layout

It is important to understand how the product cells are put together, both for styling and functionality.

  • In most instances, you should be able to make layout changes to the product cell through css. The default .item styling is included in mm-framework.css and in mm-assets/_skins/default/stylesheet-skin.css (which you should be copying for your stylesheet-local.css)
  • The various components of the product cell are using an equalizer script so each product cell with be the same height. This allows the rows to flow correctly. The calls for the equalizer are located on the main_template

Default Product Fields

All of the following fields are included in the products templates

Order Field Label
1 hide
2 list_order
3 product_name Product Name
3.1 page_name web-page-address
4 catalog_id Catalog Id
4.1 sale_category Sale Category
5 price Current Price
5.2 sale_price Sale Price
5.3 minimum_price Minimum Price
6 product_flag1 Sidebar Featured
7 weight Weight
8 shipping_charge Shipping Charge
8.1 shipping_charge_type Shipping Charge Type
8.2 package_specs Package Specs
9 short_description Short Description
9.1 blurb1 Description
10 product_image1 Image 1
10.1 product_image2 Image 2 (optional)
10.2 product_image3 Image 3 (optional)
40 qty_on_hand Qty on Hand(a)
41 main_cat_id Main Category
60 use_price_options Use Price Options(b)
  • (a) qty_on_hand is important if the site has inventory control
  • (b) use_price_options displays the options table on the product edit page

If the site has wholesale, you'll also need

Order Field Label
5 price Current Retail Price
5.1 wholesale_price Retail Price
15 show_only Show Only

If the site has options that can be added using a multiadd cart (a product can only have one type of option group), add

Order Field Label
5.4 retail_multiadd Retail Multiadd
5.5 wholesale_multiadd Wholesale Multiadd

products/default

  • Uses its own columns.html
  • Has its own set of category, product, and option templates, plus addtocart.html
  • Product cell is not set up with addtocart action

Key for page specifics

1. Image zoom
The thumbnail images include product_image1, product_image2, product_image3, and any unhidden option that has an image. (Currently uses an insert|data; one drawback to this is that it doesn't include shared option images. In order to include shared option images, you will want to use ; however, you need to make sure the option_detail_cell.html has the correct tags for doing the optionswitch with the options menu.)

2. Success message
The success message displays when the add to cart button is clicked. (With the latest code, the message fades after approx. 4-5 seconds.) Tip: If you would like to set the add to cart action to go directly to the view cart page, remove the “goto:samepage” hidden input on addtocart.html.

3. “New” tag
This tag is activated when an item has been created within the past 30 days. You can adjust the amount of days in the config.php file by adding $new_days = «# of days»;

4. Sale messaging and price display
Based on price fields and any applied sales.

5. short_description through stock messaging
These appear if active.

6. Add to cart layout
If multiadd flags are off, the regular addtocart.html is inserted.
If multiadd flags are on, subpage?stpl=_mulitadd is inserted. This allows the customer to order multiple options from a single group of option at once. IMPORTANT: Multiadd should only be used if the product has a single group of options (e.g., size OR color).

7. Facet
This tag comes into play if the site is set up for a faceted search.

8. Sidebar navigation header
This is currently hard-codes as “Categories” for retail and “Wholesale Categories” if logged in as wholesale. The sidebar is contained in products/default/columns.html.

9. Specs blurb
This only displays if blurb2 is filled in. The “Specs” heading is hard-coded.

11. Recent Items Carousel
The carousel inserts the following: 4 items in the same category, 3 related items from “groups”, unlimited number of recently viewed items. The recent items carousel is being inserted as a page with stpl=_recentcarousel. This allows the product detail page to be cached, while allowing the carousel to display updated information.

addtocart.html

  • inserted where is included
  • tag inserts select menus from the option #1, options #2, and option #3 fields. These are not used on newer sites, but you may need them when rebuilding an older site.
  • tag inserts select menus from the options table.

multiadd layout

  • Inserted from a subpage using stpl=_multiadd that uses the tag (inserts options with show details set to menus only or both).
  • Allows a customer to purchase multiple options from a single group of options at once. Should only be used if a product has a single group of options (e.g., size OR color)

products/quickorder_3up

  • Allows for ordering from the product list page
  • Includes a mini-cart
  • Has its own columns.html, product templates, and addtocart.html
  • columns.html has a blank right column where the mini-cart is loaded after someone adds an item to their cart
  • Use the products/default set of category templates
  • Product detail page is set up the same as default

products/listaddtocart

  • Allows for ordering from the product list page
  • No mini-cart
  • Uses columns.html and category templates from products/default
  • Has its own product templates and addtocart
  • Product detail page is set up same as default
  • Product cell is the same as products/quickorder_3up

products/tabs

  • Uses all templates from products/default, except has its own product_detail.html
  • Product detail page is set up same as default, but blurb1 and reviews are in tabs

products/paymentform

  • The custom payment form is a special product that allows customers to enter a dollar amount and add that to their cart. Often it's used to pay shipping charges when the customer's original order required a shipping quote.
  • Has its own columns.html, addtocart.html and product_detail.html; otherwise uses products/default templates

This is an add-on at additional charge (There is some debate going on about this, so check!)

Category is set to template “products” and component layout “paymentform”. Lock the category and items!

Item Fields

Order Field Label
1 locked
1 hide
2 list_order
3 product_name Title
4 page_name web-page-address
5 blurb1 Instructions
6 ship_charge_type (set this to “Always Free”)
7 allow_price_override (set this to Y)
8 mm_item_type (If the site uses inventory control, set this to “Non-Inventory Item”)

products/paymentform2

  • Uses the same fields and component identifiers as paymentform
  • Has its own columns.html, product_detail.html, and addtocart.html; otherwise uses the products/default templates
  • The addtocart form action is “purchaseitem”. When the item is added to the cart, the customer is taken directly to collect_payment.html (i.e., they bypass view cart and billing/shipping pages).
  • Useful for custom payments where no shipping information is required.

products/full-width-title-nonav

  • Has its own columns.html, most category templates, product templates, and addtocart.html
  • Uses the products/default category_cell.html
  • Product list and product cell are set up similar to products/listaddtocart

products/landing

  • Not sure what this is supposed to be for, so I would not recommend using it.
  • Has it's own columns.html, otherwise uses products/default
  • columns.html is similar to search templates, with sort by menu in left sidebar

products/jumbotron

  • This was set up for a biz site as a way to have the alt_cat_id1 title (), , and images-mm/cleardot.gif display full-width above the page content
  • The jumbotron container is added to the main_template (see skins/bizjumbotron)
  • Has its own category_list.html and product_list.html
  • I'm not sure this is on any live sites, so use with caution
  • To use this, you would need to enable alt_cat_id1 and label it “Jumbotron to Use”