Complex lists in settings.yml when building a plugin

I’m building a plugin that requires a list as custom input. Ideally I’d like to allow the user to input an arbitrary number of elements in this list. I understand that when constructing settings.yml, there is the type: list option that allows for input of an arbitrary number of strings.

However, the “list” I’d like to make is more complex than a string. Each element has three text fields and one image. The solution I have right now is to hard code 10 of these elements in the settings.yml, however this requires that I define 40 custom variables.

Is there a better way to do this?

1 Like

For complex UIs, you can utilize the add_admin_route api which is used in the Data Explorer plugin for example so that you have complete control over the UI of the settings you want to provide.

It gives you a dedicated ember route which you can design to construct a UI completely by yourself.

In case of Data Explorer, the url is yoursite.com/admin/plugins/explorer

3 Likes