Dynamic Forms in the front end

Hello,

I am trying to create a front-end site-builder with forms. The plan is to be able to add elements dynamically to the form, before submitting it and then update a page based on the data filled.

Taking this step by step, I am trying to get the dynamic elements working with the Neos.Form Package and Neos.Form.Builder, but these two packages don’t provide the ability to add elements dynamically (on the fly), which means the form will have an indefinite amount and type of elements. So, my question is :

  1. Is there a plugin for dynamic forms ?
  2. If not, can someone point me out how to get this dynamic functionality working ? I guess the best way would be to extend an existing Package, but I am getting lost in all that code, where do I start from ?

In few words, I need the flexibility of the back-end’s ContentCollection, but it needs to be in the front-end.

Thanks a lot in advance !

Hi George,

I took the freedom to move this to the “Using Neos & Flow” category.

It would be interesting, what exactly you’re trying to do (a fully fledged form wizard or “just” some more dynamic forms?) and whether it’s a Flow application or should be integrated to Neos.

In any case, you can easily create a custom Form Element for the Form Framework that allows new input fields to be rendered on the fly.

Hello Bastian,

Thanks for moving the topic to the right category.

The idea would be something like this, but of course with more complex input fields (and propably some custom elements too), so the user who is filling the form in the front-end will be able to add as many fields as (s)he needs, before submitting the form.

For this, I would like to use Neos if possible. A wizard probably describes what I want better, since I want a functionality similar to ContentCollection - the user selects what kind of field (s)he wants, then adds it and fills it, then adds another one etc etc and then submits the form. All this would be a piece of cake if the user could use the back-end, but I need this functionality in the front-end, that’s why I am considering the Forms way.

Is this clear enough ?