Build a powerful ecommerce site with ExpressionEngine
ExpressionEngine is a powerful and flexible content management system. David Dexter of codesly.com walks us through the process of using the CMS to build ecommerce websites
ExpressionEngine provides a great platform for developing full-featured content websites. Its unassuming template structure allows designers and developers to build without the restrictions of many other content management systems (CMS). Coupled with the BrilliantRetail ecommerce add-on for ExpressionEngine, you can create ecommerce websites quickly using same template system and logic.
We’ll walk through the process of installing and setting up a demo store and look at the core features and functionality in a BrilliantRetail store, including the various product types, order management system, promotions, reports, and more.
1. Installing ExpressionEngine and BrilliantRetail
BrilliantRetail includes the full ‘blank demo theme’ packaged in the installation process. The blank theme was intentionally created as a set of templates. These templates highlight the BrilliantRetail features and functionality without making assumptions about your design. This allows you to style and enhance the site to meet clients' needs. The source code for the blank theme also contains helpful comments that make it easy to review.
You’ll first need to download the current release of BrilliantRetail and ExpressionEngine.
Step 1: Unzip and upload the ExpressionEngine files to your website root directory.
Step 2: Unzip the BrilliantRetail file and upload the media directory to the website root directory. Set the file permissions on the media directory and its subdirectories to writeable.
Step 3: From the BrilliantRetail download, upload the third_party and site_themes folders to the themes directory, respectively.
Get top Black Friday deals sent straight to your inbox: Sign up now!
We curate the best offers on creative kit and give our expert recommendations to save you time this Black Friday. Upgrade your setup for less with Creative Bloq.
Step 4: Upload all folders in system/expressionengine/third_party (i.e. br, brilliant_retail, shortee, snippet, tweetline) to the webroot/system/expressionengine/third_party directory.
Step 5: Same as the ExpressionEngine installation requirements, set the file permissions to 666 on the system/expressionengine/config/config.php and system/expressionengine/config/database.php files
Step 6: Run the ExpressionEngine installation wizard by visiting the /system directory in a web browser. At the second to last step, select the BrilliantRetail theme from the options.
Once you've completed the ExpressionEngine installation wizard you can navigate to your site URL to view the full demo store.
BrilliantRetail automatically creates a new store tab in the ExpressionEngine control panel. Here, you can quickly link to dashboard, customers, order overview, products, promotions, reports and store settings.
A detailed explanation of the installation process is documented on our website.
Hint: If you're developing in a multiple server environment with local, staging and production servers we recommend implementing the master config file from Focus Lab. BrilliantRetail has a number of variables that can be set in environment configuration files. These help make your deployment workflow seamless.
2. Setting up product categories
Set up categories before you begin managing products in the Store > Settings > Categories section of the site. The categories create the store's primary navigation. You can create up to four category levels for your store:
Assign the product to the relevant category when creating and editing your products. A product can be in any category or sub-category you choose.
3. Understanding product types
To create a new product, select the Store > Products > New Product link from the primary navigation menu.
Enter the title of the product and select the product type. BrilliantRetail currently includes six product types: Basic, Bundle, Configurable, Donation, Downloads and Service. Each type allows you to create and edit specific product details:
- Basic - Simple products with no variants (i.e. a coffee mug)
- Bundle - Group of one or more products (i.e. a coffee mug + a hat)
- Configurable - Product with multiple variant stock-keeping units (SKUs) (i.e. a t-shirt with multiple sizes and colours)
- Donation - Allows customers to set the donation price (i.e. charitable giving)
- Downloads - Upload files that can be sold as secure downloads (i.e. audio files)
- Service - A virtual product that doesn’t require inventory management
There are a number of self-explanatory, product-specific fields to enter. If you have questions on any of the fields in particular, review Managing Products in the BrilliantRetail User Guide.
Hint: If you need special fields or field types, use the ExpressionEngine third party field type options in the product entry form. Find out more about adding custom field types.
By default, the price and sale price of an item are set for all member groups. BrilliantRetail will intelligently handle member-based pricing by setting up different prices for each member group. You can even select dates when the pricing will be valid:
The example below shows a price of $19.95 for everyone, $16.95 for members and a one-off sales price of $9.95 for 'Super Admins' only.
4. Order management
Orders are displayed in BrilliantRetail under the Store > Orders tab. Filter for specific orders by order ID, customer name and customer email. Batch update the order status and notify customers from the order overview.
Each order contains a detailed order page, which shows order information, update order status and add private and public (customer can see) notes.
5. Running promotions
Coupon-based promotions can be created in the Store > Promotions section of the control panel. To add a new promotion click the Add Promotion button from the promotions overview page. Give your promotion a title, create a coupon code, add a description and tweak any additional requirements. BrilliantRetail promotions allow you to apply a fixed rate or percentage discount per item - or to the entire cart. You can set start and end dates for the promotion and limit the number of times a promotion may be used. You can also select what categories and products the promotion applies to.
6. Reports
Customer sales and various other reports are included with the default installation of BrilliantRetail. Export the report details as CSV files to work with the numbers in a spreadsheet program. You can also build custom reports and drop them into the control panel interface. Read more documentation on building custom reports.
7. Working with the templates
BrilliantRetail uses the ExpressionEngine template system to give you familiar control over a site's development as well as its look and feel. Tags follow the same ExpressionEngine logic.
An example product tag shows the simple nature of calling a product with its corresponding product_id:
{exp:brilliant_retail:product product_id="1234"} <h2>{title}</h2> {detail} ...{/exp:brilliant_retail:product}
You can read more about all of the template tags in the BrilliantRetail Docs.
Hint: The blank demo theme included in the default installation contains working examples of all of the tags. Most tags include hidden comments in the source code to guide you.
8. Final thoughts
As you can see from the BrilliantRetail Showcase, you can create any look and feel for a site; the system is only limited to your imagination.
If you need any help, or have any questions, visit our forum or drop us a message via our contact form.
Let us know when you build a BrilliantRetail site. We love to see them in the wild!
Thank you for reading 5 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1
The Creative Bloq team is made up of a group of design fans, and has changed and evolved since Creative Bloq began back in 2012. The current website team consists of eight full-time members of staff: Editor Georgia Coggan, Deputy Editor Rosie Hilder, Ecommerce Editor Beren Neale, Senior News Editor Daniel Piper, Editor, Digital Art and 3D Ian Dean, Tech Reviews Editor Erlingur Einarsson and Ecommerce Writer Beth Nicholls and Staff Writer Natalie Fear, as well as a roster of freelancers from around the world. The 3D World and ImagineFX magazine teams also pitch in, ensuring that content from 3D World and ImagineFX is represented on Creative Bloq.