How to Build an eCommerce Website With Miva Merchant
4.4 (19 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
7,319 students enrolled
Wishlisted Wishlist

Please confirm that you want to add How to Build an eCommerce Website With Miva Merchant to your Wishlist.

Add to Wishlist

How to Build an eCommerce Website With Miva Merchant

The Developer Training Series is a course geared toward web developers using the Miva Merchant Platform.
4.4 (19 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
7,319 students enrolled
Created by Brennan Heyde
Last updated 2/2015
Price: Free
  • 5.5 hours on-demand video
  • 2 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Build an ecommerce store using the Miva Merchant Platform. This course takes you from eCommerce rookie to an eCommerce expert. You learn the Miva Merchant template language, Store Morph Technology and how to build a high quality eCommerce Store using Miva Merchant.
View Curriculum
  • A free developer store is provided for use during this course. Students should have an web developers understanding of HTML, CSS and JavaScript.

This course is intended for all level of Web Professionals (Developers, Designers) but you need a solid foundation in HTML, CSS and familiarity with any programming language. If you know what a variable is, or an if,else statement you’ll do great. You do not have to be an expert programmer to take this course.

This course includes a free copy of Miva Merchant which you will sign up for during the initial lesson. This store is a full featured Miva store which you can use as a developer sandbox and is yours to keep as long as you want.

There are over 50 videos in this course each covering a small topic. This course was intended to completed over a series of a few days to a few weeks depending on speed and availability. It is completely self-paced and can be done quicker or longer based on your individual needs.

Who is the target audience?
  • This course is for web developers with knowledge of HTML, CSS and JavaScript who are interested in learning how to build a eCommerce Store. If you are a web developer looking to expand your skillset or offer additional services to your clients through eCommerce, this course is for you.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
55 Lectures
Miva Developer Resources
2 Lectures 00:48

We offer you a free Miva Developer Store so you can practice and learn first hand through these lectures.

Please click this link to create your free store.

Sign Up for a Miva Developer Store

You'll need some snippits of code for your training.

Please click here to download your code.

Snippits for Sublime Text
Miva Merchant Architecture
3 Lectures 14:17

Miva Merchant Mia is an engine and personal web server environment that runs compiled MivaScript applications, giving store designers and software developers the means to run and test their work on their Windows desktop. Mia enables users and developers to create the same environment on a local Windows machine as would be available on a Web server under Miva Merchant Empresa.

Miva Merchant Mia provides an excellent development environment for MivaScript developers to build, test, and run interactive web applications offline before deployment on a production, Miva Merchant Empresa-enabled web server.

History of Miva Merchant

It’s important that we understand how Store Morph Technology works. By knowing the theory and proper application of the templating system, it will be much easier to solve complex problems in the future.

Before you can learn how to customize a Miva Merchant store, it is essential that you learn the vocabulary and the basics of Miva Merchant so you have a solid foundation to build upon. This article contains a lot of concepts that are extremely important to understand and fully comprehend before diving head first into customizing a Miva Merchant store. The concepts and vocabulary described in this article will give you the background you need to understand how Miva Merchant templates are structured and the different elements they contain that give Miva Merchant it’s design flexibility. In this course you will learn to navigate and master the Miva Merchant software.

Miva Architecture

Use the Miva Admin to manage everything about your online store. Learn how to use the powerful customizing options to create the perfect store for your business.

Introduction to the Admin
Miva Template Language
12 Lectures 01:03:18

One of the most important concepts for mastering the Miva Merchant Template Language is understanding how to create and output variables for the page. In this lecture we will teach you how to do that. For sample code click here.

Assign and Eval

There are two types of variables you can use in Miva Merchants Template Language; a Global Variable and a Local Variable. In this lecture we will talk about differences between the two.

For sample code, click here.

Global vs Local Variables

Entities are variables that can be used throughout a Miva Merchant Page template to display a value on the screen. Depending on which items you have assigned to a page, you have access to different entities that you can use to write a value to the screen.

For sample code, click here.


An entity can contain different types of data, from integers to text strings to image urls. When outputting an Entity to the screen you have different encoding methods to choose from. How do I know which one I should use? In this lecture we will show you how to differentiate between the choices.

For sample code, click here.

Output Encoding

A structure in Miva is a collection of data elements grouped under one name. A structure can contain another structure or a variable. In this lecture we will dive deep into the creating and purpose of structures.


Each Miva Merchant Entity has a scope. It is either a local variable which is accessed using ‘l.settings:” or a global variable accessed using “g.” The structure of a local variable starts with l.settings: followed by the item being referenced product: followed by the specific variable you are accessing formatted_price. In this lecture we'll walk you through these settings.

Miva l.settings Structure

Displaying Static Content is an essential part of creating websites. But what happens when we want to do more? What if we want to present specific data to a customer based on a choice they made or action they took? To do this, we need to be able to use conditional statements to let the browser know what content to display.

For sample code, click here.

Conditional Statements

There are a few group of operators that I will walk you through today.Some of the Operators I will walk you through are Logic Operators, Comparison Operators,String Operators and Math Operators.

For sample code, click here.

Logic Operators

Before we talk about <mvt:foreach> loops, we need to understand one more concept, the array. Think of an array as a group of objects. Sometimes the objects can be products, or sometimes they can be charges on a particular order. Let's think about a category page, every time it loads, the server is going to retrieve a group of products that are assigned to that category, and put them into our array. Once this group of objects are returned, naturally we'd want to access the data (in this case, products) and write them on the page. This is where a foreach loop comes in handy.

What a foreach loop does is take in data from an array, then execute some code for each item in the array.

For sample code, click here.

Foreach Loops

If you’re familiar with While Loops in any other program language, it’s very similar within Miva Merchant. In this lecture we’ll take a look at how Miva Merchant handles While Loops.

For sample code, click here.

While Loops

Now that you have a little background on foreach loops with Miva Merchant's Template Language there is one more important concept that will give you a lot more control when working with foreach loops; it is called POS1. POS1 is a counter within a foreach loop. It always starts a 1 and contains the current iteration of the foreach loop. POS1 gets incremented each time the loops runs so it will always contain the current number of times the loop has been executed. You can also think of it as containing the current index of the array. Let's go see how this works!

For sample code, click here.

Pos1 – Loop Counter

If you’re familiar with working with Arrays in other programming languages, then Arrays in Miva will feel very familiar. A major difference is that Arrays in Miva are 1 indexed instead of 0. Let’s take a look.

For sample code, click here.

Miva Engine Functions
6 Lectures 41:43

In this lecture we’re going to talk about how to use the Miva Empressa functions that are part of every Miva Merchant store.

For sample code, click here.

Built In Functions

In the last video I introduced you with how to work with Miva's file system with the template language. We were able to check and see if the file existed, delete it if it did, and create a new file with some sample data. In this video I’m going to take it one step further.

For sample code, click here.

Reading a CSV file

One great part of using mvt assign and mvt eval in the template language is you get full access to all the file read write functions that are part of Miva Merchant Empressa. Access to these functions turns Miva Merchant template language into a powerful programming language. We’ll talk more about that in this lecture.

For sample code, click here.

Writing a CSV file

Most of these functions must be called with two arguments, here designated time_t and time_zone. time_t is the number of seconds since the beginning of C.U.T. (Coordinated Universal Time) at 00:00:00 January 1, 1970. This value can be obtained from the system variables time_t and dyn_time_t (time_t is set when the script starts executing; dyn_time_t is updated at the moment that it is used; which one you use depends on what your program does). Let’s go through the details.

For sample code, click here.

Time Functions

So far we’ve worked with two variable types; Local Variables and Global Variables. In this lecture we’ll talk about a third variable called, System Variables.

For sample code, click here.

System Variables

In this lecture we’re going to talk about Tokenlist. I’ve hinted at Tokenlist in a few previous videos. Tokenlist is a built-in Miva Merchant tool which will show you all the variables that are on each page. Let’s walk you through them.

Using Miva’s Tokenlist Feature
User Interface
7 Lectures 40:47

Items can be one of the hardest concepts in Miva Merchant to grasp, however they are extremely important to how Miva Merchant Pages function. An Item is a user interface component that provides specific functionality to a Page template. All Pages have multiple items assigned to them. Some examples of commonly used items would be the nav bar, the category tree, and the head tag. Each of these are built in items that are assigned to almost all Pages of the store. Let's go though them.


In this lecture I want to talk about the different between local items and global items that are assigned to a page.

Global and Local Items

Pages in Miva Merchant are the cornerstone piece to Miva Merchant’s power and flexibility. In this lecture I will talk about how pages and items go hand in hand.

Pages Part I

Having just been introduced to pages, let’s take a deeper dive into some of the features and functionality of pages and how they work.

Pages Part II

These are Pages in Miva Merchant that don’t have Page Templates associated with them in the Miva Merchant Admin. An example of this would be the OINF page. It is used to initiate the checkout process however it does not have its own page template. Instead, the OINF page has logic built in that will direct you to either the OCST Page (Customer Information Page) if you are logged in or the ORDL Page (Order Login Page) if you are not logged in. This functionality is all built into the Pseudo Page, OINF.

Pseudo Pages

In this lecture we’re going to talk about Miva’s Product List items. A product list item is a very powerful part of Miva Merchant. It controls the layout of any product list. Let’s take a look.

Product List Layout

One really nice feature that’s new to Miva Merchant 9 is the ability to customize all error messages on the site. In this lecture we’ll take at look at how to customize the messages that your customers see.

Error Messages
Custom Fields
8 Lectures 01:04:48

Custom fields are not just limited to products,, you can also use them for categories or customers, too. Learning to utilize custom fields properly can exponentially increase the flexibility of your stores. In this lecture I’ll walk you through an overview of the Custom Fields options.

Custom Fields Overview

To fully understand custom fields and how they work, it’s important to understand how custom fields have evolved over the years. In this lecture we’ll walk you through from where they began to where they are now .

For sample code, click here.

Legacy Custom Fields

To solve all the problems of existing custom fields functionality, in 2013 Miva released an update to the Custom Fields Module to greatly extend it’s functionality.

The most critical piece to this was the ability to use custom fields from any page, both read and write. In this lecture we’ll show you how this revolutionized your ability to freely customize your online store.

New Custom Fields

In this lecture we’ll dive into the new custom fields syntax. There are 17 total; 8 for reading, 8 for writing, and then a debug function to help troubleshoot. Let’s get started.

For sample code, click here.

Custom Field Functions

Custom Basket Fields in Miva Merchant are a very powerful developer tool They allow you to save data, any data you want associated with the shopper or the basket. In this lecture we’ll walk you through the benefits of this tool.

For sample code, click here.

Custom Basket Fields

Miva Merchant Custom Order Fields are very similar to Custom Basket Fields. However, instead of saving data from a basket, it saves data from an order. In this lecture I will walk you through the process and purposes of this powerful and beneficial tool.

For sample code, click here.

Custom Order Fields

One great feature about Miva Merchant Custom Fields is that they’re importable and exportable through the Miva Merchant import/export system. In this lecture I’ll walk you through how to import and export your custom fields to a csv file and even customize it to your needs.

Exporting Custom Fields

Another nice feature about Miva Merchant Custom Fields is that they provide a built-in Debug Function. This function can be used any time you are having problems reading or writing a custom field.

For sample code, click here.

Debugging Custom Fields
Development Foundations
9 Lectures 01:00:51

One really common thing we’ll do as a web developer working with Miva Merchant is working with Parameters both in the url which would be an http git or a form post where you have a form that submits to a Miva page and passes inputs, either hidden inputs or other inputs within the form. The great part about Miva is that it makes it very easy. Let’s see how.

Working with Post and Get Parameters

Cookies are a core part of the web and used in almost every web site you visit. A cookie is just a small piece of data stored locally by a browser about a web site. In this lecture we’ll talk about how cookies work within the Miva Merchant software.

For sample code, click here.

Working with Cookies

One common area of confusion when learning Miva Merchant and learning how to develop stores in Miva Merchant has to do with Miva Merchants default url. Let’s learn more about this.

Understanding merchant.mvc

So we now know that all parameters passed in the url automatically become global variables. If you take a look at Miva’s default structure, it’s category structure, body structure, you’ll notice that there’s a series of parameters that are usually always there. Let’s dive into a few of them because you’ll see them over and over again.

Default Miva Parameters

Actions are what tell Miva Merchant what to do. We touched briefly on actions in the last lecture. An action is simply an url parameter or a hidden input. In this lecture we’ll learn more about Miva Actions.

Miva Actions

In this lecture I want to dive in to Miva Merchants File Structure, specifically the structure of the files and folders on the servers. Let’s get started.

File Structure

Miva Merchant’s page templates use the base tag which is a standard html tag that’s used to reset the base href when using relative paths for images, css, javascripts and more. In this lecture we’ll learn more about page templates and how they apply to your store.

For sample code, click here.


As a Developer, one thing that you’ll need to do quite a bit is stage your changes before they go live. Anytime you modify a code say to add new code and update content, when you hit update the changes are reflected immediately on the web site. Every change happens in real time. So, in a case where you want to make a lot of changes and preview it before it goes live, you’ll need to stage it. In this lecture I’ll show you how.

For sample code, click here.

Staging Changes Before Going Live

One really nice feature of Miva Merchant is the ability to turn on Maintenance Mode. Maintenance Mode is a setting the Miva Merchant admin. This means no one can do anything with your store while you’re in Maintenance Mode. Anytime you’re doing major changes to the site, say redoing the entire look and feel of it, this is a perfect example of when you’d want to turn Maintenance Mode on. This lecture will show you how to do that.

Maintenance Mode
Working With Modules
2 Lectures 11:34

In this lecture I will talk about Modules. Modules are an important part of the Miva Merchant echo system. You may have heard the term plugin, app or add on. A module is all of those things for Miva Merchant.

Installing a Module

In this lecture I’ll explain how to remove a module once it’s installed. There are a couple “gotchas” to this process which I’m going to go over.

Deleting a Module
3 Lectures 11:10

Frameworks are a fantastic developer tool that allow you to essentially take a snapshot of the entire look and feel and save it into a file or package that can be moved and installed from one store to the next. I’ll walk you through this process in this lecture.

Introduction To Frameworks

In this lecture I’m going to walk through how to install a Framework. To do this, we are going to use the free Bootstrap Responsive Developer Framework . This is a free framework anyone can download and use for your store.

Installing a Framework

One thing you may want to do as a developer is to create your own frame work based off of all the common things you need to do when building a Miva Merchant store. Miva Merchant makes creating a framework very simple and I’ll walk you through the process in this lecture.

Saving a Framework
PSD to Miva
3 Lectures 10:27

In this lecture I’m going to talk about how to take a Photoshop Design, slice it up and put that design into Miva Merchant. This is a multiple part series. This video will talk about the home page and how to manage global elements such as a global header and footer and top navigation.

PSD to Miva Part I

In the last video, we saw how to take a static Photoshop file, split it up into different sections and put them in the global header, footer and different areas where they should logically go within Miva Merchant. In this video I’m going to talk about how to take a category page that is designed and mocked up in Photoshop and put that into Miva Merchant where all the products are dynamically written to the page depending on what category you’re viewing.

PSD to Miva Part II

So we know how to create our store design, we know how to create our products in a category page and now in this video we will be looking at a product page and how to put it into Miva Merchant.

PSD to Miva Part III
About the Instructor
Brennan Heyde
4.4 Average rating
19 Reviews
7,319 Students
1 Course
VP Developer Relations / Miva

Brennan's background is in Computer Science and he previously worked as the Technical Director of the Professional Services Department for the past 6 years at Miva. He has extensive experience in eCommerce, both front end and back end web development including integrating Miva Merchant with 3rd party fulfillment and ERP systems. In his current role, he works closely with Miva Merchant's 3rd party developers supporting their existing needs as well as helping grow the future Miva Merchant developer ecosystem.