[RELEASED] Dependent Options
Posted: Thu Mar 01, 2012 9:03 am
Also called conditional options or chained selects, Dependent Options allows you to control which option values are displayed for a product based on those selected in a "parent" option. This decreases complexity for your customers and helps keep down the total number of option values in your store.
Demo
Check out the online demo at:
Store: options-demo.opencarthelp.com
Admin: options-demo.opencarthelp.com/admin (user/password: demo)
Requirements
-OpenCart 1.5.1.3 and later
-VQMod 2.1.5 (http://vqmod.com)
-Chained Selects jQuery Plugin (included with download; http://www.appelsiini.net/2010/jquery-chained-selects)
PURCHASE NOW
NOTICE FOR OPENCART 1.5.6 (August 23, 2013)
I have no current plans to support OpenCart 1.5.6. I highly recommend users remain on OpenCart 1.5.5.1.
Please Note
Dependent Options works on Select-type options only! It does not work on Image, Radio, Checkbox or Input, File, and Date-type options. All options (e.g. Size, Color) for a product will be displayed to customers. Only option values (e.g. Large, Black) will be hidden or shown depending on customer choice.
Stores with greater than 500 total option values may see slowdowns when adding an option value row in the Admin product form depending on your computer speed and total number of option values. This is due to javascript having to dynamically create large blocks of HTML and does not effect server or store speed. Please ask if you have any questions on these limitations.
Dependent Options is a VQMod script. It can be quickly enabled or disabled at any time without interrupting store functionality.
If you have any questions on whether Dependent Options is right for your store please ask.
FREQUENTLY ASKED QUESTIONS
Can I track stock levels?
Dependent Options uses the standard OpenCart options stock method which means options quantities are subtracted individually rather than cumulatively. For instance, if you were to order a small black t-shirt and a large black t-shirt the cart would subtract 1 from "small", 1 from "large", and 2 from the "black".
A way to work around this is to create an absolutely unique option value at the end of an option chain for each possible combination. For instance, you would replace "black" with "black (small)" and "black (large)". The disadvante to this is it can get very complicated and greatly increase the number of options you have to manage but it will let you control stock levels.
Why can't I have an option more than once?
It causes potential errors with option chains. If a duplicate option was ever used as a parent Dependent Options wouldn't know which one to use.
Why doesn't Dependent Options work with other types of options?
Dependent Options uses the Chained Selects jQuery plugin which is limited to select-type (i.e. dropdown) options only.
Why are there advisory limits on the number of options Dependent Options can handle in Admin?
The Chained Selects jQuery plugin works by having a set of all possible options for a dropdown then showing or hiding them based on user input. This means the number of options your browser is working with is:
Total number of select-type option value for the store * Total number of select-type option values for the product
You'll usually start to see slowdowns when the figure exceeds 10,000 (500 possible option values in the store * 20 product option values being used) though this figure can vary. I've experimented with using the remove version of Chained Selects but it has unfortunately proven to be too slow updating for practical use when many options are used.
Will Dependent Options work with [third-party mod]?
Unfortunately there is no way to know without installing both. Generally speaking if a mod modifies product options using jQuery (such as image switching or price updating) there are likely to be conflicts and it should be considered NOT compatible.
Does Dependent Options work with Mijoshop / Aceshop?
AceShop and MijoShop should not be considered equivalent to OpenCart. They are a Joomla-OpenCart merge which may or may not work with mods designed for OpenCart standard. I've made changes to the script loading method in Dependent Options 1.1.7 which may make it compatible with AceShop / MijoShop. This is untested and both platforms remain officially unsupported by Dependent Options.
Why aren't Mijoshop / AceShop supported?
Even though they're technically licensed under GPL neither project is directly distributed as free, open-source software (FOSS). This means on top of the extra work developing and testing a custom version of Dependent Options just for Mijoshop / AceShop, continuing support subscriptions to both platforms would need to be maintained to make sure Dependent Options is compatible with the latest version.
Is Shoppica supported?
Dependent Options v1.1.6 is the end of life for official Shoppica support. While the code remains as of Dependent Options 1.1.7b, commercial support will be required for any issues that occur and future versions of Dependent Options will no longer include free support for highly non-standard templates. For more info on the subject see: http://forum.opencart.com/viewtopic.php?f=20&t=86401
DEPENDENT OPTIONS 2.0
I'm currently working on the next version of Dependent Options as time permits. Its goal is to work around many of the above limitations. Unfortunately I do not have an ETA as this is complex work with many starts and stops between other projects. Below is a screenshot of preliminary work:
Demo
Check out the online demo at:
Store: options-demo.opencarthelp.com
Admin: options-demo.opencarthelp.com/admin (user/password: demo)
Requirements
-OpenCart 1.5.1.3 and later
-VQMod 2.1.5 (http://vqmod.com)
-Chained Selects jQuery Plugin (included with download; http://www.appelsiini.net/2010/jquery-chained-selects)
PURCHASE NOW
NOTICE FOR OPENCART 1.5.6 (August 23, 2013)
I have no current plans to support OpenCart 1.5.6. I highly recommend users remain on OpenCart 1.5.5.1.
Please Note
Dependent Options works on Select-type options only! It does not work on Image, Radio, Checkbox or Input, File, and Date-type options. All options (e.g. Size, Color) for a product will be displayed to customers. Only option values (e.g. Large, Black) will be hidden or shown depending on customer choice.
Stores with greater than 500 total option values may see slowdowns when adding an option value row in the Admin product form depending on your computer speed and total number of option values. This is due to javascript having to dynamically create large blocks of HTML and does not effect server or store speed. Please ask if you have any questions on these limitations.
Dependent Options is a VQMod script. It can be quickly enabled or disabled at any time without interrupting store functionality.
If you have any questions on whether Dependent Options is right for your store please ask.
FREQUENTLY ASKED QUESTIONS
Can I track stock levels?
Dependent Options uses the standard OpenCart options stock method which means options quantities are subtracted individually rather than cumulatively. For instance, if you were to order a small black t-shirt and a large black t-shirt the cart would subtract 1 from "small", 1 from "large", and 2 from the "black".
A way to work around this is to create an absolutely unique option value at the end of an option chain for each possible combination. For instance, you would replace "black" with "black (small)" and "black (large)". The disadvante to this is it can get very complicated and greatly increase the number of options you have to manage but it will let you control stock levels.
Why can't I have an option more than once?
It causes potential errors with option chains. If a duplicate option was ever used as a parent Dependent Options wouldn't know which one to use.
Why doesn't Dependent Options work with other types of options?
Dependent Options uses the Chained Selects jQuery plugin which is limited to select-type (i.e. dropdown) options only.
Why are there advisory limits on the number of options Dependent Options can handle in Admin?
The Chained Selects jQuery plugin works by having a set of all possible options for a dropdown then showing or hiding them based on user input. This means the number of options your browser is working with is:
Total number of select-type option value for the store * Total number of select-type option values for the product
You'll usually start to see slowdowns when the figure exceeds 10,000 (500 possible option values in the store * 20 product option values being used) though this figure can vary. I've experimented with using the remove version of Chained Selects but it has unfortunately proven to be too slow updating for practical use when many options are used.
Will Dependent Options work with [third-party mod]?
Unfortunately there is no way to know without installing both. Generally speaking if a mod modifies product options using jQuery (such as image switching or price updating) there are likely to be conflicts and it should be considered NOT compatible.
Does Dependent Options work with Mijoshop / Aceshop?
AceShop and MijoShop should not be considered equivalent to OpenCart. They are a Joomla-OpenCart merge which may or may not work with mods designed for OpenCart standard. I've made changes to the script loading method in Dependent Options 1.1.7 which may make it compatible with AceShop / MijoShop. This is untested and both platforms remain officially unsupported by Dependent Options.
Why aren't Mijoshop / AceShop supported?
Even though they're technically licensed under GPL neither project is directly distributed as free, open-source software (FOSS). This means on top of the extra work developing and testing a custom version of Dependent Options just for Mijoshop / AceShop, continuing support subscriptions to both platforms would need to be maintained to make sure Dependent Options is compatible with the latest version.
Is Shoppica supported?
Dependent Options v1.1.6 is the end of life for official Shoppica support. While the code remains as of Dependent Options 1.1.7b, commercial support will be required for any issues that occur and future versions of Dependent Options will no longer include free support for highly non-standard templates. For more info on the subject see: http://forum.opencart.com/viewtopic.php?f=20&t=86401
DEPENDENT OPTIONS 2.0
I'm currently working on the next version of Dependent Options as time permits. Its goal is to work around many of the above limitations. Unfortunately I do not have an ETA as this is complex work with many starts and stops between other projects. Below is a screenshot of preliminary work: