7

Sprout Forms offers you a lot of the same functionality as standard Craft Entries. Both Sprout Forms and Entries allow you to create front-end forms that allow users to submit data to the database. Here are a few thoughts on why you would choose one over the other to manage content that requires front-end forms. None of these reasons are absolute, so take ...


6

I believe what you asking about are Hooks and Events. Craft has several of them listed in the Hooks Reference and Events Reference. And Craft also allows us to add Hooks and Events in our plugins, which other plugins can leverage. In the case of Sprout Forms, as of this post, we don't have any documented events yet, but there are a couple in there and we'...


6

To answer your questions in regards to how they will fit with Freeform... If what you mean by pre-populating fields with existing data is being able to fill fields with data from other elements, Freeform can do this. It allows you to populate fields with data from other Craft Elements or even common Predefined data included with Freeform such as States, ...


5

The input tag presented in the comments above does not appear to use the correct input tag format for the date field. To submit a date field on the front-end, your input fields need to be setup with the following name structure and value format: <input type="text" size="10" name="fields[fieldHandle][date]" value="10/15/2012"> <input type="text" ...


5

I figured it out (edited with my FORM mark-up as well): I'm actually rendering the FORM using the SproutForms method: <div class="submit-via-ajax"> {{ craft.sproutForms.displayForm(block.gatedContentForm.first().handle) }} </div> and then my JS looks for any form submissions from a ".submit-via-ajax" block // process the form $('.submit-...


4

Wow Matt, awful question! You should probably have a moderator remove it so nobody else has to suffer. In SproutForms_HtmlDisplay, change the __call() function's echo... public function __call($key, $args) { if (isset($this->htmlFields[$key])) { echo $this->htmlFields[$key]; } } ...to a return... public function __call($key, $...


4

You will have to upload the files and index them as assets, then return the asset id's to your form. You can then use these asset id's in your form so you can post them to the server, effectively creating the relations you want. I've put up a little gist that does this for jQuery File Upload - you can use it as a reference for any other upload mechanisms: ...


4

Currently, Sprout Forms (v1.1.0) is translatable, but we have not yet added support for Craft's localization feature. You can find a template of a translation file on our Github Account. We want to support localization in the long run. The main reason we have not yet is mostly just one of priority. In comparison to other advanced features, we have had very ...


4

Re-installing the Sprout Invisible Captcha plugin and including the following line before the closing tag got it working: {{ craft.sproutInvisibleCaptcha.protect() }}


4

Filtering entries is now possible as of Sprout Forms v2.2.0: {% for formEntry in craft.sproutForms.entries.formHandle('contact').firstName('Zoe') %} ... {% endfor %#}


4

Adding an event handler is not something you do through the control panel. What you need to do is create a plugin (pluginfactory.io makes this fairly easy), and in your plugin's main class, you have an init() function that looks like this: public function init() { craft()->on('sproutForms.onSaveEntry', function (Event $event) { $entry = $...


4

To override field.html you will also have to provide an override for tab.html and errors.html. The field.html template is a bit more complex and the Twig code to get it to work depends on a few other files to work properly. I've updated the documentation to better reflect this requirement: Template Overrides If you only need to update the classes, you ...


3

Probably you are caching the page. You can't cache a sprout form. The csrf will be the same for all the users.


3

You're understanding the purpose of the Hidden and Invisible fields correctly and your desired workflow is possible. Let's step through each part: Hidden and Invisible Fields These fields allow you to capture values on the page that the user doesn't see. This includes any variable available to the page your form is being submit on. The key thing to note ...


3

Does this help you? It'll let you add additional file extensions that are allowed to be uploaded. http://buildwithcraft.com/docs/config-settings#allowedFileExtensions


3

This can be done with Sprout Forms and the Sprout Fields Email Select Field. The Email Select field allows you to create a dropdown list of email addresses, hides those email addresses on the front-end so they can't be seen or harvested for spam (the user will only see the Name of each department or discipline you wish to have associated with each email ...


3

There are two ways you could get something like this to work: If the other plugin fires an event when at a point in the code where your plugin wants to do something, you can just listen for that. (You will have to look through the plugin’s source code to be sure, if they haven’t documented it.) This is the cleanest route, so even if the event doesn’t exist, ...


3

You're experiencing two different things. First, as Johannes suggested, if you update to the latest version of the plugin (using the same url that you were sent for the private beta), the error in the control panel will be fixed. This issue was introduced in Craft 2.3 and was resolved in Sprout Forms 0.8.3 Second, it sounds like you have some issues with ...


3

For now, you can create forms and create entries through the plugin Guest Entries. In Guest Entries, entries are disabled by default. Sprout also has a plugin for creating forms, that is currently in beta. Is there anything specific you are looking for, or would you just like to be able to receive submissions from site users? If you give some more ...


3

In Craft, fields can be shared across field layouts and there's no way to set a field as required across the board. A field can only be declared as "required" in the context of a field layout. Usually this is easily done by clicking the cogwheel next to a field inside a tab in the field layout designer, and selecting "Make required". Sprout Forms uses the ...


3

Turns out, there's an element twig variable that I can use (it contains the Sprout Form entry), so I can output: {{ element.first_name }} for instance.


3

You can delete that folder entirely and it will get re-created on the next request that needs a template. If it's not updating, chances are you've got some PHP byte-level caching extension installed like APC or OPcache that's not busting cache properly.


3

When leveraging another plugin programmatically, you will typically want to use the service layer. In your case, the SproutForms_EntriesService.php is where the saveEntry action gets processed. The saveEntry service method expects a SproutForms_EntryModel: craft()->sproutForms->saveEntry($entry); Here is a longer example: // Create a new instance of ...


3

Click the checkbox at the top to select all of them.


3

If you don't have a local development environment setup, you will need FTP access to the server where Craft is installed to edit templates. The one line of code cannot be copied and pasted into a field in the control panel like one might do with WP. First of all you will need to make or edit a template to show this form. The "one line of code" needs to be ...


3

Based on your code - and our comments - you need something like this: <form id="someFormId"> <input type="hidden" name="action" value="sproutForms/entries/saveEntry"> <input type="hidden" name="handle" value="test"> <input type="hidden" name="redirectOnFailure" value="{{ craft.request.getUrl() }}"> <!---some more ...


3

Ran into the same issue, asked the support team, and they confirmed it's a bug. Workaround is to comment out this line: https://github.com/barrelstrength/craft-sprout-base/blob/v2/src/app/email/elements/NotificationEmail.php#L481 Tried it and it works fine. They said it would be fixed in an upcoming release.


3

I work with Sprout and can answer your questions with regards to Sprout Forms. 1. It should be possible to prepopulate fields with existing data This will happen by default in a lot of standard use cases when you are using Form Templates and when validation fails, for example. It's also possible to populate a Form Entry dynamically using the setEntry ...


3

As you suspected, Sprout Reports is not designed to handle large quantities of data if it's more than your server can handle. As for how many records you could export, it really just depends on how impressive your query is and how much your server can handle. We could potentially consider adding support for batching large exports. I've created a ticket if ...


3

By default, several fields do not display in the default Email Template such as the Hidden Field, Invisible Field, Section Heading Field, Private Notes Field, and Custom HTML field. If you'd like to display any or all of those fields, you can override the default email template by in your Notification Email settings. Select the "Custom Templates" option and ...


Only top voted, non community-wiki answers of a minimum length are eligible