<p>Commerce is definitely Craft's achilles' heel right now.</p>

<p>Like you, I'd love to switch over completely off WP but picking the best tool for the job means either rolling up your sleeves and writing your own or picking the best available solution and unfortunately that could be WP/Gravity... at least right now.</p>

<blockquote>
  <p>We're also hoping to hand off the form creation process to the client afterwards.</p>
</blockquote>

<p>Not to go too far off the Craft path here, but from a client services perspective, this part scares the hell of me. </p>

<p>Forms tend to be tricky beasts to begin with—especially so when you add in the commerce part of it.<br>
I don't know what your registration forms look like but I'm guessing a lot of them are going to be very similar. Do you actually need a form builder to put in name, address, etc. Or is the only thing that changes on the form the retreat date, lodging location, etc.  </p>

<p>You can do a lot with Craft's custom fields and instead of building up a form like in Gravity or Ninja (like you might do in WP), bake in those fields that won't change in your template and just let the client change a few pieces from the back end—like the date, price, etc.—and compose the rest of the form with Twig and an action handler.</p>

<p>Regardless of whatever technology you pick, this kind of project tends to need ongoing support as well so if you can do it, get the client on some kind of monthly retainer; that'll remove a lot of the uncertainty as you move forward. Sometimes what clients say they need and what they actually end up needing is completely  different. Craft is going to grow as a platform too, so basically you're buying some time as the client grows with it. It's a nice sentiment to think you just "hand it off" but in my experience, it rarely works like that. </p>

CC BY-SA 3.0
2015-01-27T17:44:20.153Z
Appreciate the insight, and I agree, it's not going to be simple to hand it off.  With GF though, you can easily duplicate forms, change a few fields, and have a brand new registration form for new events. We'd essentially create templates and give them specific, step by step, foolproof instructions and training on how to do it, but you're right, I'm sure we'll encounter problems.

Think I may have to go with WP for now, maybe switch over sometime down the road. How nice would it be if P&T recreated GravityForms for Craft :)
Philip L
CC BY-SA 3.0
2015-01-27T17:51:34.643Z
Maybe Craft 3?! I'd love conditional fields myself (a bit like how ACF does it). I'm sure this will all be moot in less than a year when Cellar, Dukt, and Sprout fill in the e-commerce/forms void!
RitterKnight
CC BY-SA 3.0
2015-01-27T17:18:38.380Z
2015-01-27T17:24:24.017Z
2015-01-27T17:24:24.017Z
RitterKnight
<p>Until the plugin store becomes an official thing, <a href="http://straightupcraft.com/craft-plugins" rel="nofollow">Straight Up Craft</a> has the most comprehensive list of plugins available for Craft.</p>

<p>Glancing through there, there are <a href="http://straightupcraft.com/craft-plugins/formerly" rel="nofollow">several</a> <a href="http://straightupcraft.com/craft-plugins/form-builder" rel="nofollow">form</a> <a href="http://straightupcraft.com/craft-plugins/sprout-forms" rel="nofollow">building</a> possibilities that might do what you need.</p>

CC BY-SA 3.0
2015-01-27T16:58:14.787Z
Thanks Brad for the quick response.  I checked Straightupcraft prior to posting and didn't see anything that compared to GravityForms in terms of ease of use and functionality.  I did check out that plugin, and it seems like it could work if our team was doing everything internally, but not if we're trying to hand this off to the client.
Philip L
CC BY-SA 3.0
2015-01-27T15:49:09.403Z
2015-01-27T15:49:09.403Z
Brad Bell
<p><a href="http://sprout.barrelstrengthdesign.com/craft-plugins/forms" rel="nofollow">Sprout Forms</a> (currently 0.8.5) can build Forms with hundreds of fields, tabs, allows you to give your client control over the forms (using the same Field Layout editor as Craft), and can output forms dynamically on the front-end (so your client never needs to touch the templates).  </p>

<p>We support several common fields right out of the box, and are working on a way to allow you to add support for additional fields for dynamic output on the front-end based on your project needs. Sprout Forms integrates with <a href="http://sprout.barrelstrengthdesign.com/craft-plugins/email" rel="nofollow">Sprout Email</a> if you have needs for lots of control over notifications and <a href="http://sprout.barrelstrengthdesign.com/craft-plugins/reports" rel="nofollow">Sprout Reports</a> if you need to get your data out of Craft.</p>

<p>We don't support conditional fields yet (hoping to piggy back on Craft on that one!), but you could create a custom field and add support to have it output dynamically on the front-end with whatever behavior you want.</p>

<p>We don't support payments <em>yet!</em>, but do have an expertise around e-commerce and interest in adding an e-commerce integration to Sprout Forms at some point. </p>

<p>I'd agree with most other posts here at this time. You're use case is definitely pushing the boundaries of available features right now and need to consider all your options. Conditional fields, more advanced fields, and commerce functionality all may require some degree of custom development to meet your needs.</p>

CC BY-SA 3.0
2015-01-28T19:08:38.003Z
Thanks Ben, super helpful.  Sounds like Sprout Forms will be a great solution down the road.
Philip L
CC BY-SA 3.0
2016-06-20T00:52:34.607Z
I too was looking to add conditional logic to form fields and was curious if Sprout Forms supports this yet. Currently, I use Wufoo but would prefer to have native Craft forms so I can integrate the submissions into my website. Thanks, Lori.
Lori
CC BY-SA 3.0
2016-06-20T07:22:17.453Z
Sprout Forms has a lot of options such as Template Overrides (http://sprout.barrelstrengthdesign.com/craft-plugins/forms/docs/customization/template-overrides) and Rendering Options (http://sprout.barrelstrengthdesign.com/craft-plugins/forms/docs/customization/rendering-options) to help customize behavior in your templates. If you need conditional behavior in the admin area, please vote up this request (http://feedback.craftcms.com/forums/285221-feature-requests/suggestions/7185745-conditionals-in-field-layouts) or checkout the Reasons plugin (https://github.com/mmikkel/Reasons-Craft)
Ben Parizek
CC BY-SA 3.0
2016-06-20T21:35:35.630Z
Thank you, Ben. It would be on the front end and the Rendering Option may do the trick.
Lori
CC BY-SA 3.0
2015-01-28T07:47:48.297Z
2015-01-28T07:47:48.297Z
Ben Parizek
<p>For the couple projects where I absolutely needed the client to be able to create complex forms like you describe, I ended up just using Wufoo. There's just nothing else available for Craft (that I know of) that is anywhere close to its feature-set. I ended up writing a very simple fieldtype that authenticates with the Wufoo API and allows you to select one of the forms from a drop-down, and then output the embed code into your template with a single tag. You can get it here: <a href="https://github.com/elivz/VzWoofer-Craft" rel="nofollow noreferrer">https://github.com/elivz/VzWoofer-Craft</a></p>

<p>There are a couple big downsides, though: </p>

<ol>
<li><p>Wufoo gives you very limited control over the form styling, so it will probably not look entirely "in place" in your design. </p></li>
<li><p>The client still needs to go log into Wufoo to create or edit the forms. I should probably add a shortcut link to the field to make that a little easier.... </p></li>
<li><p>My plugin is definitely beta, but if you decide to use it and run into any problems I will do my best to help, or pull-requests are always welcome!</p></li>
</ol>

CC BY-SA 3.0
2015-01-27T18:42:19.733Z
Cool, this is very helpful.  Thought about using a 3rd party system like this (also checked out Google Forms), but 100% control over styling is a must.  Also hate for them to have to log in to 2 different systems, would much prefer to have a single CP for everything.
Philip L
CC BY-SA 3.0
2015-01-27T18:10:11.483Z
2017-11-16T16:06:19.703Z
2017-11-16T16:06:19.703Z
Eli Van Zoeren
<p>We're doing a rebrand and web overhaul for a Christian camp, retreat, and conference center. A big part of the site is a registration system where people can register for an event, fill out a detailed form with 30+ fields, then pay for registration. The forms will be pretty complex... people can do partial payments (via stripe), and each of the forms (10 or more) will be unique with conditional fields.  We're also hoping to hand off the form creation process to the client afterwards.</p>

<p>The only plugin I know that can handle something like this easily is GravityForms for WordPress, but I don't want to go the WP route. Is there anything like it out there for Craft? Or is Craft still too much in its infancy? Maybe a 3rd party form builder that will integrate nicely w/Craft?</p>

<p>Any help or guidance is appreciated!</p>

<form><registration>
Robust Form Plugins for Craft?
# Robust Form Plugins for Craft?

(Asked by: username_0 on 2015-01-27)

We're doing a rebrand and web overhaul for a Christian camp, retreat, and conference center. A big part of the site is a registration system where people can register for an event, fill out a detailed form with 30+ fields, then pay for registration. The forms will be pretty complex... people can do partial payments (via stripe), and each of the forms (10 or more) will be unique with conditional fields. We're also hoping to hand off the form creation process to the client afterwards.

The only plugin I know that can handle something like this easily is GravityForms for WordPress, but I don't want to go the WP route. Is there anything like it out there for Craft? Or is Craft still too much in its infancy? Maybe a 3rd party form builder that will integrate nicely w/Craft?

Any help or guidance is appreciated!

**Tags:** form, registration


---

## 4 answers

### Answer by username_1 on 2015-01-27. Score: 3

Commerce is definitely Craft's achilles' heel right now.

Like you, I'd love to switch over completely off WP but picking the best tool for the job means either rolling up your sleeves and writing your own or picking the best available solution and unfortunately that could be WP/Gravity... at least right now.

> We're also hoping to hand off the form creation process to the client afterwards.

Not to go too far off the Craft path here, but from a client services perspective, this part scares the hell of me.

Forms tend to be tricky beasts to begin with—especially so when you add in the commerce part of it.  
I don't know what your registration forms look like but I'm guessing a lot of them are going to be very similar. Do you actually need a form builder to put in name, address, etc. Or is the only thing that changes on the form the retreat date, lodging location, etc.

You can do a lot with Craft's custom fields and instead of building up a form like in Gravity or Ninja (like you might do in WP), bake in those fields that won't change in your template and just let the client change a few pieces from the back end—like the date, price, etc.—and compose the rest of the form with Twig and an action handler.

Regardless of whatever technology you pick, this kind of project tends to need ongoing support as well so if you can do it, get the client on some kind of monthly retainer; that'll remove a lot of the uncertainty as you move forward. Sometimes what clients say they need and what they actually end up needing is completely different. Craft is going to grow as a platform too, so basically you're buying some time as the client grows with it. It's a nice sentiment to think you just "hand it off" but in my experience, it rarely works like that.

> **Comments:**
> **username_0**: Appreciate the insight, and I agree, it's not going to be simple to hand it off.  With GF though, you can easily duplicate forms, change a few fields, and have a brand new registration form for new events. We'd essentially create templates and give them specific, step by step, foolproof instructions and training on how to do it, but you're right, I'm sure we'll encounter problems.  Think I may have to go with WP for now, maybe switch over sometime down the road. How nice would it be if P&T recreated GravityForms for Craft :)  
> **username_1**: Maybe Craft 3?! I'd love conditional fields myself (a bit like how ACF does it). I'm sure this will all be moot in less than a year when Cellar, Dukt, and Sprout fill in the e-commerce/forms void!  

---

### Answer by username_2 on 2015-01-27. Score: 2

Until the plugin store becomes an official thing, [Straight Up Craft](http://straightupcraft.com/craft-plugins) has the most comprehensive list of plugins available for Craft.

Glancing through there, there are [several](http://straightupcraft.com/craft-plugins/formerly) [form](http://straightupcraft.com/craft-plugins/form-builder) [building](http://straightupcraft.com/craft-plugins/sprout-forms) possibilities that might do what you need.

> **Comments:**
> **username_0**: Thanks Brad for the quick response.  I checked Straightupcraft prior to posting and didn't see anything that compared to GravityForms in terms of ease of use and functionality.  I did check out that plugin, and it seems like it could work if our team was doing everything internally, but not if we're trying to hand this off to the client.  

---

### Answer by username_3 on 2015-01-28. Score: 1

[Sprout Forms](http://sprout.barrelstrengthdesign.com/craft-plugins/forms) (currently 0.8.5) can build Forms with hundreds of fields, tabs, allows you to give your client control over the forms (using the same Field Layout editor as Craft), and can output forms dynamically on the front-end (so your client never needs to touch the templates).

We support several common fields right out of the box, and are working on a way to allow you to add support for additional fields for dynamic output on the front-end based on your project needs. Sprout Forms integrates with [Sprout Email](http://sprout.barrelstrengthdesign.com/craft-plugins/email) if you have needs for lots of control over notifications and [Sprout Reports](http://sprout.barrelstrengthdesign.com/craft-plugins/reports) if you need to get your data out of Craft.

We don't support conditional fields yet (hoping to piggy back on Craft on that one!), but you could create a custom field and add support to have it output dynamically on the front-end with whatever behavior you want.

We don't support payments *yet!*, but do have an expertise around e-commerce and interest in adding an e-commerce integration to Sprout Forms at some point.

I'd agree with most other posts here at this time. You're use case is definitely pushing the boundaries of available features right now and need to consider all your options. Conditional fields, more advanced fields, and commerce functionality all may require some degree of custom development to meet your needs.

> **Comments:**
> **username_0**: Thanks Ben, super helpful.  Sounds like Sprout Forms will be a great solution down the road.  
> **username_4**: I too was looking to add conditional logic to form fields and was curious if Sprout Forms supports this yet. Currently, I use Wufoo but would prefer to have native Craft forms so I can integrate the submissions into my website. Thanks, username_4.  
> **username_3**: Sprout Forms has a lot of options such as Template Overrides (http://sprout.barrelstrengthdesign.com/craft-plugins/forms/docs/customization/template-overrides) and Rendering Options (http://sprout.barrelstrengthdesign.com/craft-plugins/forms/docs/customization/rendering-options) to help customize behavior in your templates. If you need conditional behavior in the admin area, please vote up this request (http://feedback.craftcms.com/forums/285221-feature-requests/suggestions/7185745-conditionals-in-field-layouts) or checkout the Reasons plugin (https://github.com/mmikkel/Reasons-Craft)  
> **username_4**: Thank you, Ben. It would be on the front end and the Rendering Option may do the trick.  

---

### Answer by username_5 on 2015-01-27. Score: 1

For the couple projects where I absolutely needed the client to be able to create complex forms like you describe, I ended up just using Wufoo. There's just nothing else available for Craft (that I know of) that is anywhere close to its feature-set. I ended up writing a very simple fieldtype that authenticates with the Wufoo API and allows you to select one of the forms from a drop-down, and then output the embed code into your template with a single tag. You can get it here: <https://github.com/elivz/VzWoofer-Craft>

There are a couple big downsides, though:

1. Wufoo gives you very limited control over the form styling, so it will probably not look entirely "in place" in your design.
2. The client still needs to go log into Wufoo to create or edit the forms. I should probably add a shortcut link to the field to make that a little easier....
3. My plugin is definitely beta, but if you decide to use it and run into any problems I will do my best to help, or pull-requests are always welcome!

> **Comments:**
> **username_0**: Cool, this is very helpful.  Thought about using a 3rd party system like this (also checked out Google Forms), but 100% control over styling is a must.  Also hate for them to have to log in to 2 different systems, would much prefer to have a single CP for everything.  

---

