Miva Merchant Custom Fields are arguably Miva Merchants most powerful developer feature. Once you learn to harness the power of Miva Merchants Custom Fields, it will unlock a whole new world of features and functionality that you can custom make and custom build for your clients. So what's a custom field? The Custom Field is just a built-in way to save data associated with the product, a customer, a category or shopper, which is a basket, or an order. There is no limit to the type of data you can save. You can save text, html, or even do things like create adjacent object and save it with a product or customer and read that object back in and do something with it on the front end. Miva is completely agnostic to the type of data that you save. It just provides you a field to save that data. Essentially a database field to save that data into and retrieve it back when you need it. On the display side from the admin you can create a custom field as a text field, a text area, a select, which is a drop down, radio buttons, checkboxes or there’s even a file-upload dialogue that allows you to upload an image, a PDF, or any other type of file that you allow into the Miva Merchant Admin. This is a great way to allow clients to upload a PDF about a product. It’s a nice Admin Interface that makes this process very easy and simple to use. You can even organize your Custom Fields into groups or tabs. A lot of stores will have quite a few custom fields; such things as MSRP, Brand, Product Specifications. Anything you can think of can be set up and structured as a custom field. While a lot of times it makes sense to organize custom fields into a single tab so it’s easy to update update and maintain.
Now that we know what custom fields are let's take a look at how to create a custom field. So back here my Miva Merchant Admin, the first thing I need to do in order to use custom field is turn them on. Custom Fields are part of Miva Merchant by default. However, you have to first tell Miva you want to use them. To do that, you assign the custom fields functionally to the store. That's located under Utility Settings. So I can come here to the menu and search for Utility and I'm going to hit “Enter.” So here I'm at Utility Settings and you'll need to come to “Add/Remove Modules.” So this will give you the list of all available modules and all installed modules. Well under Install Modules I actually have Custom Fields already installed. However, if you've never installed them, they're going to be here under Available Modules. You simply find the module this list and click the install button here. This will install it in your store. Once it's installed, you’ll see two new tabs appear; one for custom fields and another one for custom field groups. Let's focus on Custom Fields.
So I currently have three custom fields already set up. Let's add a new one. It can be done by clicking the “+” button. So there’s a few parts to a custom field. You define the type of custom field it is. Now, as I said earlier, there’s Product Custom Fields, Category Custom Fields, Customer Custom Fields, Order Custom Fields and there’s one more, Asset Custom Fields or Shopper specific Custom Fields that isn’t on this list but we’ll talk about on a different video. For now these are the four custom fields you need to be aware of. So when creating a Custom Field, you need to define what the date is associated with. Well let's do a product custom field and you need to give it a code, so let's do MSRP for manufacturer's suggested retail price. For the name I'm just going to call it, “MSRP.” For the Field Type, this is how it displays in the Admin. So you want to choose this depending on the type of data that's going to be saved and it's custom field. If it's going to be a lot of data, like paragraphs of text, you'd want to choose a text area. However for the MSRP, since we know it’s going to be a dollar value, a text field works just fine.
Now this group we'll talk about in a second. I don't have any group set up so we’re just going to leave this at “Default.” Additional information is the field to describe what this custom field does. It’s mostly for Admin purposes. When someone’s coming in looking at your Custom Fields, you can give them a description of what each Custom Field does. So now that I have my description, I’m going to go ahead and hit “Add.” So now I have my Custom Field. You can see here’s my additional information here of what the custom field does. It's a text field and it's a type product, so it’s associating with product data. So now that I've created this custom field MSRP, how do I populate the data? Well, because this is a Product Custom Field you’re going to do that under each individual product. So let me navigate to a product, then catalog and I'm just going to edit this first product here. Here under the tabs, there's one for Custom Fields. So you see, this list every custom field I have associated with products. So I had three already set up; this highlight short description, specifications and then here's my MSRP field that we just created. If I hover over it, a little question mark appears and you'll get a little tool tip which is additional information you define when setting up the custom field. So I'm going to out in a value here of $29.99. So this is my MSRP, and then go ahead and hit update. So this $29.99 is additional data associated with this one specific product. I now have access to display that field on the front end website. We're going to get into the details and had to do that in a later video.
Let me jump back to the Custom Field Settings and let's look at Custom Field Groups. So here on the Custom Field Group tab, I can create a new group. So a group just requires a code and a name. So I’m going to call this “Specs” and go ahead and hit “Enter” to save. So now that I have a group set up, when I come back to Custom Fields, if I edit any custom fields or create a new custom field in this group drop down I can set it to any groups that have it set up. So here's my product specifications group and I'm going to hit save. Let's do one more. I'm going to put the specifications in that group as well. So I have these two custom fields, both custom product fields in that product specifications group. I can sort by the group here to show me all the products that are in that specifications group. So what does it actually do? Well if we go edit that product, we'll see there's this Custom Fields tab that was there previously. If I click on that there is only two custom fields here. So instead of showing all four, it only shows the two that are not in a group. I come back up here you'll see there's a new tab up here called “Product Specifications.” This is our group we’ve created. So when I click on that menu item it shows me the two fields the 2 custom product fields and I put in that group. So here’s my MSRP and specifications. Custom field groups are a great way to group custom fields under their own heading so their own tabs here this makes it easy to add an update data from a group of Custom Fields within the admin. It keeps things nice and organized so you know where to find them. Now in these examples, we've only working with Custom Product Fields, but the same principles apply to the other types of custom fields. You should be create a new custom field and specify the type of custom field you want to create. Here’s a new custom Customer Field and I'm going to call it “Type” or “Customer Type” and for Field Type let’s just make it a drop down list and Group I’m going to leave as “Default.” For Additional Information I’m going to say “Customer Type” and I’m going to add two types of customers. I’m going to do a Retail customer and a Wholesale customer. Once I’m done I’m going to click “Add.”
So you see here I have all my Custom Product Fields but now I have my one Custom Customer Field and you access this very similar to how you access the Custom Product Fields. Because this custom field is associate with a customer, I'm adding data to this field for each customer. So let me jump back here to “Customers” and edit this customer here underneath Custom Fields. You see I have this Customer Type for Retail or Wholesale and because when we set this up we set it up as a drop-down list it will appear as a drop-down list in the Admin.
Now you may be wondering, how do you automatically set the Customer to be a Retail Customer or Wholesale Customer when they create an account? Well, Miva provides extremely powerful and flexible functions that you can use within the temple language to be able to read in and modify all types of custom fields. This is what makes custom fields so powerful. It’s because you have full access them within the temple language and you can do almost anything you can think of. Once a custom field is created, the Power and flexibility to modify and manipulate that data is in your hands as the developer.