Jump to content

Dynamic Selects (Commercial Module)


kongondo

Recommended Posts

Dynamic Selects

Released 27 July 2016

Dynamic Selects is a commercial module that enables the creation of dynamically related/dependent ajax-driven chained dropdown lists (aka cascading selects) for display and storage of multiple types of data. The module can be used both in the front- (display only) and backend (display and storage of data).

Setting up Dynamic Selects is very easy. With minimal effort, site developers can set up simple or complex chained selects. By making a selection in a trigger dropdown, via ajax, values are fetched and dynamically populate options in the dependent select. In turn, making a selection in the now populated select triggers the same action further down in a dependent select. The module only uses/stores ID references to selected options in the selects meaning the most current/up-to-date data will always be displayed in the selects. 

Currently only ProcessWire managed data are supported. If there is enough demand, we may incorporate external data sources (typically JSON). 

The module consists of 4 modules

  1. ProcessDynamicSelects
  2. MarkupDynamicSelects
  3. FieldtypeDynamicSelects
  4. InputfieldDynamicSelects

Video Demohttps://youtu.be/wkhx8xQ5ue4

Documentationhttp://dynamicselects.kongondo.com/

Shophttps://processwireshop.pw/plugins/dynamic-selects/

Requires: ProcessWire 2.5 or newer and jQuery if using the frontend module (MarkupDynamicSelects)

Features

  • Easily create powerful ajax-driven cascading/chained selects/dropdowns
  • Unlimited number of select dropdowns per field
  • Data-mapping made easy thanks to multiple possible combinations of data relationships, triggers and sources
  • Mutlipe data relationships to chose from
  • ID-based data referencing ensures your data values always stay fresh
  • Remote and local caching to speed up data access and reduce ajax-requests to server
  • User-friendly, intuitive and easy to set up

IMPORTANT

Before using this module in the frontend, you will need to thoroughly read the security section in the documentation.
 

  • Like 20
Link to comment
Share on other sites

Cool module!

A couple of ideas/dreams for a future update:

1. It would be great to have thumbnails in the select dropdown for image fields.

2. Could there be an option for the last select in the chain to be a select multiple?

  • Like 1
Link to comment
Share on other sites

9 hours ago, gmclelland said:

Just a suggestion...

Maybe you could add an option to also hide all but the first select input?  When someone selects the first option it could show the next select field as so on?

Thanks for the suggestion. Done!

hide-empty-selects.gif

  • Like 11
Link to comment
Share on other sites

2 hours ago, Torsten Baldes said:

...Is or will it be possible to use this as a frontend module?

 

On 27/07/2016 at 10:21 PM, kongondo said:

..... A MarkupDynamicSelects for use in the frontend is planned if there is enough demand for it.

:)

  • Like 2
Link to comment
Share on other sites

On 7/27/2016 at 10:21 PM, kongondo said:

The module consists of a FieldtypeDynamicSelects and InputfieldDynamicSelects. A MarkupDynamicSelects for use in the frontend is planned if there is enough demand for it.

$demand++

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...
  • 3 weeks later...
  • 3 weeks later...

Yes, you need at least two selects: a trigger and its dependent select. You can select from fields, but not directly from templates themselves. Rather, select from fields attached to a page. In other words, the following (and more) are currently possible:

  1. base/trigger select for #2: display templates
  2. dependent select for #1 and also base/trigger select for #3: displays pages using a template selected in #1
  3. dependent select for #2: display fields present in (the template of) a page selected in #2
Link to comment
Share on other sites

  • 1 month later...

Quick update guys. Frontend module is ready. I have to update the docs first before releasing it though as with anything frontend, there are security implications if the module is not properly set up. Hence, the need to first prep the docs. Will talk more about how it works later but setting up the selects is quite easy. These are defined in a process module in the backend (think Menu Builder) with caching and validation right out of the box. Hope to release next week.

  • Like 4
Link to comment
Share on other sites

  • 4 weeks later...

Dynamic Selects version 003  (released (27/11/2016))

Happy to announce that the latest release of Dynamic Selects is now available for Download/Purchase.

IMPORTANT

If you will be using this module in the frontend please FIRST READ at least the following topics in the documentation in their entirety.

  1. Security
  2. Settings
  3. Introduction to frontend use
  4. Example frontend use
  5. Debugging results in the frontend

I have spent a considerable amount of time developing and testing security features to make using MarkupDynamicSelects safe. If you believe you've come across a potential vulnerability, I would appreciate it if you could send me a PM/email about it, thanks.

@note:

Currently, the Excluded Templates + Included Pages combo does not work as expected if you use more than one range of IDs for either. In such cases, please stick to comma-separated values.

Changelog

  1. Frontend Dynamic Selects: Added Process- and MarkupDynamicSelects.
  2. Expanded included/excluded settings to cover templates and pages.
  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...