Theme Checklist

In order to create a LemonStand theme, there are pages that are needed in order to make your store fully functional. Use the checklist below to make sure that your custom theme has all of the important pages and components. To see an example of a basic LemonStand theme with all of the crucial components take a look at the Zest Theme. You can also see full source code for the Zest Theme here.

The Checklist (update links once remainder of theme docs complete)

Page Notes
Homepage Usually displays latest products, or products from a collection. Sometimes includes a slider or banner area, which can be separated into a partial for easy management.
Shop page
Most stores have a /shop page which lists all products in a paginated list. Often this page uses a template which includes a list of categories for easy navigation on the side or along the top, but that's up to you to decide.
Category page This page displays products from a particular category. These pages uses a dynamic URL. You can find more info here.
Product page
This is the page where people view a particular product. It should include product title, attributes, product images, description, product options, price and the add-to-cart button. You can find more information about building this page here.
Cart page
This is the page where customers view and edit items added to their cart. It should include an itemized list of products added to the cart, which will display the product image, quantity, price, discount, and total amount for each cart item. This page should also include the ability to delete cart items and adjust the quantity. The cart page should also include estimated totals for the cart items. You can find more information about building this page here. The URL is usually /cart.
Search Results page
The search results page is what's displayed when someone searches for something in the search field. You can find more information on the search results page here.
Checkout page(s)
These pages should include the checkout-start page which will prompt the user to login in, create an account or continue the checkout as a guest. The checkout pages themselves should include a page for entering billing information, a page for shipping information, a page for selecting the shipping method, a review page that will list the cart items and totals, and finally a pay page for selecting the payment method. You will need to design for errors returned by shipping methods as well as design for the different types of payment method forms. You can find more information about building this page here. You can completely customize the checkout process. For example, combine the billing and shipping address pages, or add a "Use this address for shipping" (via JavaScript) checkbox that can skip the shipping address step if selected. It's also best practice to combine the Review and pay pages.
Receipt page
This is the page the user will be redirected to upon successful payment. It should include a list of items on the invoice in an itemized list similar to the output of the cart/review pages. It should list totals from the invoice and invoice specific details like order number, payment method, order date. The URL is usually /receipt.
My Account page
This page should only be available to logged in customers and will include forms to update billing and shipping information as well as the ability to let the user change their password. This page is usually linked to via a nav item that is only visible when the customer is logged in.
My Account / Order History
This page will allow the customer to view any orders they have placed in the store. The page should contain an itemized list of previous orders that will list the order number, the order date, the status of the order and the order total dollar amount. Listed orders should be clickable and link the customer to the corresponding order. This page is usually linked to via a nav item that is only visible when the customer is logged in.
My Account / Order History / View Order
This page will list an individual order's details and be linked to from the order history page. It will list order specific details such as the order number, payment method, and order date. It will also list dollar amount totals for the order including discount, subtotal, sales tax, shipping, shipping taxes and the order total. This page will also display an itemized list of items purchased on the order. Including the product image, quantity purchased, price, discount and total amount for each order item.
Account registration page
This page will provide the customer with a form to register an account for the store. It will include fields for first name, last name, e-mail, password and password confirmation.
Log-in page
This page will provide the customer with the ability to log in. It will include a form containing e-mail address and password input fields. This page will sometimes also contain an account registration form or at the very least a link to the account registration form.
Reset Password
This page will include a form allowing the logged in customer to reset their password. This form will contain fields for the new password, confirmation of the new password and the old password. This page is usually linked to via a nav item that is only visible when the customer is logged in.
Contact page
It's best practice to make use of the Contact Forms feature, to create a page at /contact that includes a form.

Other Things To Account For

  • Sale prices. Make sure your theme visually indicates whether a product is on sale or not. Usually this is done with a crossed out original price, and highlighted sale price.
  • Take note that each payment method has a payment partial, which is generated when that payment method is added to the store (if it doesn't already exist in the theme). You should have an associated partial for every single supported payment method in LemonStand included in your theme. You can find these partials in an existing theme on Github.
  • Theme Customization Options. When creating or modifying a theme, you should implement this feature, which will allow nontechnical users to upload their logo, change colors and more using a simple user interface.
  • Products are sorted alphabetically by default, but if you want to implement other sorting, or even make this user configurable, see this documentation.
  • Ensure that main navigation menus can handle the addition or subtraction of links.
  • There should be a search field easily accessible from all pages. It should be easy to use on both desktop and mobile screen sizes.
  • Ensure category lists can handle a varying number of categories.
  • Make sure you are making use of image sizing and crop in a way that will accommodate for different product image sizes.
  • Make use of Rich Snippets wherever possible to enhance SEO.
  • Product pages must support multiple product options (e.g. color, size, fabric) and attributes, so your layout needs to account for this.
  • Be responsive. Mobile traffic on eCommerce stores is rapidly increasing every day, and LemonStand believes that responsive stores are ideal.
  • When possible, make use of frameworks and plugins that are common. Other developers may be using your work, and the easier the learning curve, the better.
  • Account for digital products on the /receipt page, and order view page using this documentation.
  • Minimize and combine your CSS and JS files to make your theme pages load faster. It's a good idea to also include a custom.css and custom.js file that can be used to override the combined/minified CSS and JavaScript as needed.
  • Do not link to resources via non HTTPS links, so stores do not throw SSL warnings.