Product Options


What are Product Options?

Options are choices that a customer makes about a product before purchase. Examples are sizes or colours of clothing, and toppings on pizzas.

Let’s say you sell t-shirts that come in three sizes – small, medium and large. There’s no need to create three different products, instead you create a product only once and offer three options for that product. In this example you might call that option ‘SIZE‘, and provide the customer with three option values to choose from – ‘SMALL‘, ‘MEDIUM‘, ‘LARGE‘.

Just as with attributes, you setup up a global list of all your options and option values in OpenCart and then associate one or more of those options/values with individual products.

So let’s get started.

Create a New Option

  • Login to your OpenCart admin section
  • Hover your mouse pointer over ‘Catelog’ in the top menu bar
  • Click on ‘Options’ from the drop down menu
  • Click on the ‘Insert’ button in the top right section of you screen

Here’s what you will see:

Options Name: Enter a descriptive name for the Option. In our example above you would enter ‘Size’ in this field. On any of your product pages that include this option, this name will be visible so make it meaningful.

Type: This drop down box contains a list of web-form tools to choose from. The tool you select will appear on any product’s page that has this option associated with it to be used by your customers to make their choise. Use the one most appropriate for the selection your customer will be required to make. Here is a brief description of each.

  • Select – This will produce a drop down box containing all of your option values. Your customer will only be able to select one of the values in the list.
  • Radio – A list of the option values will be created with each item in the list having a circular radio button next to it. Radio buttons let your customer select only one of the available option values.
  • Checkbox – This will create a list of your option values each with a square checkbox next to them. This type of list allows your customer to select one or more of the values in the list.
  • Text – Creates a single line text entry box where you customers can enter one line of text.
  • Textarea – Like ‘Text’ but results in a multi-line text entry box where your customers can enter multiple lines of text.
  • File – Use this if the option you are creating is designed to allow your customers to upload a file. On a product page associated with this option, the customer will see the name of the option along with an ‘Upload File’ button. When they click on the button it will open a file explorer on their local computer for them to choose a file for upload.
  • Date – Provides an option for your customers to enter a date
  • Time – Provides an option for your customers to enter a time
  • Date & Time – Provides an option for your customers to enter both a time and a date. Both must be entered.

Sort Order: If you have more than one option appearing on a product’s page, this field allows you to determine the order in which those options will appear. This field only accepts numeric entries and the lower the number, the higher in the list it will appear. So, an option with a Sort Order of ’2′ will appear before an option with a Sort Order of ’5′ on a product page that has both options enabled.

Create Option Values

The option name you filled in above will appear on your product pages as a heading. You need to now create the actual choices your customer can make (called option values). These will appear on your product pages beneath this heading. So, ‘SIZE‘ is an option (and will appear as a heading) and ‘SMALL‘, ‘MEDIUM‘, and ‘LARGE‘ and all option values which will appear beneath the heading.

Click on the ‘Add Option Value’ button.

Option Value Name: Enter a name for this option value. Referring to the example above ‘small’, ‘medium’, and ‘large’ are option values.

Image: Click on the ‘Browse Files’ link beneath the image placeholder to open the OpenCart Image Manager. The follow the prompts to upload an image, or choose from an already uploaded image, to represent this option value

Sort Order: If this option will include multiple option values then enter a number in this field for each option value to determine in what order they appear in the list. The lower the number the higher in the list the option value will appear.

Add an Option to a Product

To make certain options available for one of your products you need to select the option and its values from your global list of options/values from within the product edit page. Here’s how.

  • Login to your OpenCart store admin section
  • Hover your mouse pointer over ‘Catelog’ in the top menu bar
  • Click on ‘Products’ from the drop down list
  • Navigate to an existing product and click ‘Edit’ or click the ‘Insert’ button to create a new product
  • Click on the ‘Option’ tab

In the text entry box next to the green/white ‘Add’ button, start typing the name of the option you want to make available for this product. As you type, all matching option names in your global list will appear in a drop down box. Click on the one you want. In the example shown, I would like to add the ‘Size’ option to my product so I’ve typed ‘S’ in the box and selected ‘Size’ when it appears in the drop down list.

So now you’ve added an Option to this product but you still need to choose which option values will be available for the customer to choose from. Remember, the option is a heading on your product page while the option values are the choices that appear beneath that heading for the customer to make their selection from.

Add Option Values

To add an option value, click on the ‘Add Option Value’ button toward the right hand side of your screen. The image below shows my screen after I’ve clicked the ‘Add Option Value’ button for an option that was setup as a radio button type.

The fields available to you on this screen will vary depending on what type of option you are adding. You will need to complete some or all of the following fields:

Required: You have two choices here. Choose ‘Yes’ if you want to make this option mandatory for the customer. ie. The customer will have to make a selection before they are able to checkout with the product. Choose ‘No’ if you want to make this optional for the customer and allow them to buy the product without making a choice.

Option Value: For the option types of Checkbox, Select, and Radio, there will be a drop down box for you to select an option value from. These option values are the ones from the global list you created earlier. For the options types of Text, Textarea, Date, Time and Date & Time, you don’t have to make a choice, rather you are presented with a blank text entry field. Here you can type in a value that you want to appear as a default to the customer. They are then able to override your default if they want to. You don’t have to enter a value in these fields as a default; you can leave them blank.

Quantity: If you are tracking stock within OpenCart then enter the quantity of this item that you have on hand in this field. Referring again to our example of ‘Size’, if you were going to add the option values of ‘Small’, ‘Medium’, and ‘Large’, then you would enter the quantity of each size you have in stock rather than the total stock of t-shirts.

Substract Stock: Again this only applies if you are going to track stock within OpenCart. If you are then make sure you select ‘Yes’ so that everytime an item is purchased it is deducted from your stock count. If you are not tracking stock then select ‘No’.

Price: You only need to adjust this field if the price of this particular option value changes the base price of the product. If it does then enter the amount it changes the base price by. Do not enter the total price. So if the base price of your t-shirt product was $20.00 but you needed to charge $2.00 more for a ‘large’ t-shirt, then when you are adding the option value of ‘large’, you would enter +$2.00 in this field to add $2 to the base price of the product. You can enter positive and negative values thus adding to or subtracting from the base product price.

Points: If you are using the reward points feature of OpenCart then here you should enter any varience this option value will make to the reward points offered on the base product. If you want to reward more points to the customer if they take this option then enter the amount of extra points in this field. So too, if you want to reward less points then enter a negative amount here. Do not enter the total number of reward points. Only enter the difference that is to be added to or subtracted from the number of reward points to have already entered for the base product.

Weight: If you provide shipping and the shipping price calculations are based on weight then you will want to use this field if this option value significantly changes the weight of the product and thus the cost to ship. And you guessed it, don’t enter the total product weight here (you’ve already done that in the data tab when you created the product) just enter the difference in weight that this option value makes.

To Finish…

Repeat the above process to add every option value you want to associate with this product

… and …

Dont’ forget to click on the ‘Save’ button toward the top right of your screen to save the changes you’ve just made to the product!


 Posted by at 1:22 pm

  46 Responses to “Product Options”

  1. What does the image field do exactly? where do those images apear in the front end?

    • Hi Alex.

      The add image feature in the product options section does not do anything to the front end of your store. If you do add an image to an option, add that option to a product, and then view the product in the front end of your store, the image will not appear.

      I can only assume that it is a not-yet-finished-feature that the developers have included in this release of OpenCart and that in a future version the image you add will actually appear in the front end.

      There are third-party extensions that allow you to make use of this add-image feature though. This topic on the OpenCart forum might help you: Options Boost

  2. hi… when i insert a new product… it doesn’t appear at ‘feature’ product at my home page. can u please help me to solve this… thanks…

    • Hi Amet

      To add a product to the Featured module go to Extensions>Modules and click ‘Edit’ next to the Featured module. In the ‘Products’ field at the top of the page, enter the name of your product and when it appears in the box beneath, click on it to add it to your Featured module.

      Good luck and make sure to share your site when your finished.

  3. How to give separate heading for two or three options?

    • Hi Mike

      In Catalog>Options, you enter an ‘Option Name’ and then within that name you create any number of ‘Option Values’.
      When you come to applying options to a product you choose what ‘Option Values’ you want from your various ‘Option Names’. These then appear on your product page with a sort of tiered heading structure …

      Option Name 1
      Option Value 1
      Option Value 2
      Option Name 2
      Option Value 1

      So if you want each ‘Option Value’ to appear with it’s own descriptive heading, create a separate ‘Option Name’ for each ‘Option Value’. Make sense?

      • Hi Admin,
        Thanks for your reply. I’m little confused or not clear in this part. I would like to create a form more like this.
        If you notice there you will have a separate heading for certain options there.
        Letter Details
        Embroidery 1
        Add a Crest or Shirt
        The above are separate heading on that page.
        How can I create one like this?

        • Mike

          Thanks for the link – I see what you are after – but I don’t know how to do this with OpenCart unfortunately. You can create headings for options and under each heading have a multiple choice drop-down box but not multiple drop-down boxes. Any workaround for this is well beyond the scope of this site.

          Sorry I can’t help but I can only recommend that you check the community forums at

          If you do find a solution I’d love to hear about it so please let me know.

          All the best.

  4. Hi, do you know is there any extension that enable me to set an Options one time (for example, size: S, M, L, XL) and will be applied to all products? Admin need only to input the quantity and price during product setup and no need to add option one by one. Btw, i’m using version
    Thanks in advance.

    • Hi Keith

      I don’t know of such an extension, sorry. I also ran a search at the OpenCart Extension store but failed to find anything. You could perhaps post your request on the official OpenCart forums and see if someone either has made a similar extension but not listed it in the store, or is prepared to make one?

      Please post back if you find something.

  5. please help me, product option not show on my admin. i have insert option..but not show in my admin

  6. Hi,

    I have everything entered properly into the admin, and size options are displaying properly in my storefront, and customers have been able to purchase with no problems.

    The issue I am having is that I cannot see what size the customer ordered. There is no size in the email notification I receive or in the admin under “orders”.

    Can anyone help explain why this is? It is absolutely vital that I be able to see what my customers are ordering so I can fulfill their orders!



    • Hi Jim
      On my site when an order is placed for a product which includes options, the option text appears under the product name on my admin email as well as when I view the order details from within the admin panel.
      I can’t recreate your problem so I don’t have any suggestions sorry. Again, I can only suggest lodging the question at the OpenCart forums.

  7. Hi there,

    We are created a new website through opencart. We added a product and their options as well in Radio type. When I click on an option in product page, why the price not adding.

    For e.g. the price of product is $25, and I selected an option (+$10), so why the price is not changing to $35?

    Please help.

    Thank you!!

    • Hi Abbas

      The price will not dynamically change on the product page. Once you add the product to your cart, you will see the correct price when you view your cart and during checkout.

  8. hi there,

    actually i dun want the product price option to be in format of increment + or decrement – . I need the real price for each radio option. How could we do that? Thks..

    • Hi Timmy

      There’s no ‘out of the box’ solution built into OpenCart to do this. I suppose you could use a hack like making your product $0.00 and all the options their full price?? This would work but only if the options are required. Alternatively someone might have made an extension to do what you need. Check out the OpenCart extension store here.

  9. Hi!!

    How do associate an option with a downloadable digital product?
    Let’s say the buyer has an option between an ebook either in epubs format or mobi format?

    I followed succesfully the above instructions, …hoping that at some point i would have been able to associate an option with a file…

    If anybody could give me an hint it would appreciated.

  10. First, thank you so much for all the helpful information!

    I was wondering if you could answer a question for me?

    I am have a shirt that is available in white and green in different sizes. So my drop down menu would have white and green and the size options would have S, M, L, XL.
    On the admin end, how do I keep track of how many of each size and color I have on the site?
    Say I run out of the green in Medium, but I still have the white in Medium. I am not sure how to say I don’t have medium in green, while still keeping the white medium option.

    Does this make sense?

    I shouldn’t have to separate the white and green options so they are separate products, defeats the purpose of having the color option.

    If you have any insight, it would be much appreciated! Thank you so much!


    • Erin
      When you setup an option as part of a product you have the opportunity to enter the current stock count of the option and select whether to subtract from that stock count when sales are made. in this way each individual stock option can have a different inventory count and be tracked individually as well.

  11. Hi,
    I have the following setup using

    Whole Pizza
    Left Side
    Right Side

    Whole Pizza
    Left Side
    Right Side

    etc… If none of these options are selected they still show up in cart as for example Pepperoni:None Sausage:None is there a way to not show the option in the cart if the customer does not select it?

    • Brian
      Interesting question and one I’m not sure about with version 1.4.9.
      I have a site (v1.5.1.3) that has many products with multiple options. If the customer DOES NOT select one of the options then it DOESN’T show up in the cart as it does for you. These options though are not required, they are optional. Perhaps that makes a difference. Are your options marked as required?

  12. I have set up OC on 3 differnt sites and I am having same issue on all 3 different domains with the OPTIONS feature. I have done as you have listed above but find that the title shows on the page but the nothing under it no matter if I choose select, checkbox, radio, image. I have tried default new latest OC install and no go. as I thought was a theme issue. Do you know what could possibly stop this feature from working. As a site without options is useless.
    Please, somebody help!

    • Hi D

      Clearly you have created options as the title of the option is appearing on your product pages.
      Have you created ‘Option Values’ for each of the options?

      Options are just headings. Option Values are the actual choices that can be made by the customer. In each product you first choose from your preconfigured Options and then also select from your preconfigured Option Values available within the Option. Have I explained that well enough?

      Please let me know how you go.

      • Yes Admin. As I mentioned above I have created/duplicated similar as default ones. For example I have created one called “RANGE” and added about 4 different options and then gone to my product and added the options (under the options tag) and selected the options of the range I wanted and added +$ prices – (same as all the default ones are done) and not showing.

        • The only other thing I can think of is that the stock count of the option value was left at zero when setup within the product and thus it is not displaying as the system thinks there is no stock.

          • I am actually having the same problem, and I have 990 in the quantity of stock I have so what could be the problem?

  13. That was good timing – I just found that out 10 minutes ago and YES that was the issue. It seems to be a common issue even though I have set the store NOT TO USE THE STOCK feature in the system it still looks like it requires you to HAVE to put in a QTY.
    You were right on the ball.. Thank you for your great help.

    1 last question re the top menu – does anyone know how to make the top menu show more that just the top and 1 subcategory. My client wants to show 3 and 4 subcategories.

    • Good to hear it is resolved and thanks for taking the time to let me know.

      I don’t have an answer re the top menu though. I suggest you check at the OpenCart forums and if nothing is found then it’s likely that someone will have made a third party extension to do just what you need so also do a search at the extension store.

  14. I have three option values that are weights. I have them showing in the admin as smallest amount first and largest amount last. But when I save and go to the store, it shows this way:

    100 gram
    25 grams
    50 grams

    How can a make the 100 grams appear last on the bottom?


    • Hi Rich

      I can only presume it is being resorted by alphabetical order. One solution might be to list them as kilograms (.025, .050, .100). I would hope that it would then default to listing them smallest to largest. Or maybe prefix each option value with something that will cause the default sorting to suit your needs like Option 1: 25 grams. Option 2: 50 grams. Option 3: 100 grams. Certainly messier than the first solution though.

      Let me know how you decide to proceed.

      • Hi!
        Rich, I had the same problem but I figured it out>
        So I have qty 50 ml, 100 ml and 200 ml. First I saw 200/100/50 on product page which was not ok.
        In order to make 50ml/100/200, in Options my first value is 200(so, the biggest) – with order 3, then 100 – order 2, then 50 – order 1
        On the product page I first selected 50 ml and filled in price, qty ..etc, second 100, then 200 ml and on front store it appears on drop down menu 50 ml/100ml/200ml
        I don’t know if there is another possibility, but because it works like that I do not want to change it.

        Hope it helps~

  15. I have a option structure like this on certain products


    It work quite well but in some cases products go out of stock.
    How can I set a product as out of stock if say it’s options are ‘small’ ‘strong’, without making every the other options out of stock as well? (e.g. still have plenty of ‘large’ ‘strong’ or ‘small’ ‘medium’ in stock)
    Do I need to combine the two options into one or is there a workaround?

  16. I would like my main image to change to the image of the selected option,
    ie : my chocolate candle on chocolate option, my strawberry candle on strawberry option?

    Is this possible at all?

    Many thanks in advance

    Rachel :)

    • Hi Rachel

      I imagine that this would require some serious code changes. You’ve probably already checked the OpenCart forums but another option is to post your request there and see what the various developers quote to make the changes for you.

      Also, it is OpenCart version dependent but you can add images to the options. They are not dynamic in the way you would like but it will at least provide your customers with an image of the option they are selecting.

      Would love to hear how you proceed.

  17. Hello,
    I’m not sure if you’re able to help, but I’m hoping you’re at least able to point me in the right direction. I have implemented a required “date” option for a product. A customer has to specify the date they’d like to attend for the product (a tour) they’re buying. Here’s my question: is there a way to ensure the day they choose from the OC datepicker is not in the past? Ideally, I’d like to limit the calendar from the datepicker to not include any past days, but I don’t know if that’s possible in OC.
    Thanks so much!

  18. I am having an issue where the option fields randomly will not showing up in the admin under “orders”. In the admin, when I view the order, it will sometimes be missing the size information of the products I sell. Most of my customers will order more than one product at a time. When it happens that the size information is missing, it will be only on one of the products within the order.

    I have also heard from one customer that it did not allow him to select a size on the front end. However, I have not been able to confirm this myself.

    There is no trend with this, it happens randomly on different products. The products have plenty of available quantities. My site does about 1000 transactions a month and this will randomly happen to about 20 orders during that month.

    • Hi Bob.

      I’ve not experienced anything similar I’m sorry and don’t know where to begin. Of course the usual suggestion of asking over at the OpenCart forums applies. I’d love to hear if you resolve it.

  19. Hi, thanks for the write-up! Is there a way (or extension) that allows help text to pop up on the front end, when the customer HOVERS their mouse pointer over an option text? For example, for the product option SIZE, if they customer moused over that word, it would have a tip or more info, etc.


    • Hi Ed.

      I don’t know of one but back in April someone else was looking to contract a developer to produce this very feature. You can find the details in this thread at the OpenCart forums. It might give you a few leads.

      I’d love to hear how you go with it.

  20. I wonder if it possible to show the options in alphabetical order ont the admin side.
    I have around 100 colours and they are showing random when I want to select.

    I know there is a solution for the shop side but I need it for the Admin side as well.

  21. Is there a way to get an option list alphabetically ordered without having to fiddle with the sort order numbers by hand? I have an extensive list of sizes and occasionally I have to add a new one, making me have to “shift” a dozen or more numbers to make it sit in the right spot.

    • Hi Sokonomi
      Not that I’m aware of. When you create your options it might be helpful to skip numbers when entering sort orders so there are free numbers to use later when you want to insert a new option. Don’t sort order your original list of options 1, 2, 3, etc. but rather use 1, 5, 10, etc. Make sense?