Recently Browsing 0 members
No registered users viewing this page.
I'm an abolute newbie in processwire an it's modules. But I have read huge amounts of posts in this forum and as many docs and i learnt a lot in the last days. For a contact-form i used this great module (many thanks) and i hooked it my first time. Everything is alright. Now i search for a possibility to format or render the output in the email. Is there any posibility?
Thank you for your replies
By Kiwi Chris
Forms are an essential part of most websites, and it's no surprise that there's an excellent premium module Form Builder but what if you're on a zero budget for whatever reason?
It is possible to build forms quickly and easily by making use of a couple of free modules and the admin UI to give you a great deal of flexibility and speed of development, particularly if you need multiple forms on a website with different fields.
1. First you're going to need to install a couple of modules:
Form Template Processor
Fieldtype Select External Option
2. For each form that you want to display, create a template without a template file and add fields to it as you normally would. (eg I have formContact, formRegister etc)
Tip: under the Advanced tab in the setup for each template, I add a tag Forms so that all my forms templates are nicely grouped together in admin.
3. Create a new field of type Select External Option and call it formTemplate
In the section Create options from any database table select
templates as the source table id as the Option Value name as the Option Label 4. Create a new template file and call it renderForm.php (or whatever else you like)
Add an email field to this form - This will be the email address that forms get submitted to. Add the formTemplate field you previously created to this form. This will allow you to select which of the templates you previously created such as formContact, formRegister etc you want to render. Add any other fields as usual that you want to render on the page. Add the following PHP code to the template file. $recipient = $page->email; $form = $modules->get('FormTemplateProcessor'); $form->template = $templates->get($page->formTemplate->label); // required $form->requiredFields = array('contactName', 'contactEmail', 'contactMesssage'); //Optional: This can be improved by having a field in the page template with a CSV list of required fields eg $form->requiredFields = explode(',', $page->requiredFields) $form->email = $recipient; // optional, sends form as email. FormTemplateProcessor can also save forms to the database. $content .= $form->render(); //generate the form to display. Note: this doesn't actually render the form at this point, but you have it in the $content variable ready to output wherever you want in your template.
Add any template HTML or other PHP code and echo $content; wherever you want to render the form.
5. Create a page using the renderForm template, and provide an email address, and select a form that you want to display.
6. Use CSS to style the form as required.
7. View your new page, and check that the form renders correctly.
8. You can modify the templates you created at step 2 or create new ones as required if your requirements for what fields forms display changes.
Note: The Form Template Processor module can also save form input as pages, and the FieldType Select External Option can be set up with filtering, so this solution can probably be refined further.
I was wondering if anyone knew what this did?
If so, do you know what modules it actually impacts? Is there another log that lists the action it took?
I'm having some weird problems with PHP duplicate declaration per link below, since this module was run.
can somebody tell me, if it is possible to get the clear password of an InputfieldPassword inside a module, before it is encrypted?
I have made a custom module which sets the password of an Auth0User after the hook publishReady with a random generated password. When I try to get a clear password from a InputfieldPassword in this hook, it is of course already encrypted (which is of course good). But is there a hook before the encryption, so I could get it one time to send it to Auth0?
If there is not such thing, could be another possibility to add a jQuery script to get the value directly from the DOM and save it somewhere temporarily?
I know this might be an unusual question, but I would appreciate any feedback.
By Robin S
Adds a password generator to InputfieldPassword.
Install the Password Generator module.
Now any InputfieldPassword has a password generation feature. The settings for the generator are taken automatically from the settings* of the password field.
*Settings not supported by the generator:
Complexify: but generated passwords should still satisfy complexify settings in the recommended range. Banned words: but the generated passwords are random strings so actual words are unlikely to occur.