1

I want to be able to put an enquiry form on my website which, upon submission, will store those details in an Enquiries channel in EE4. No problem.

I would also like to register a new member at the same time, as I already have their name (Screen Name) and email address (Username) from the enquiry as they are compulsory fields and there'll be validation. A random string of characters can be created when the enquiry form page loads to be used as a temporary password. The user will receive an email when the enquiry form submits (from the return template) which will contain their temp password and they will be asked/forced to change the password before continuing when they next log in to the site (I'll probably use a custom member field to identify if they're still using a temp password).

I can't work out how to register a member without them submitting a second form (a Member registration form). There doesn't seem to be an EE tag that can process this if supplied with required variables.

Why? I want the enquirer to receive one email upon submission, thanking them for their enquiry and giving them login details so they can log in to the site and monitor the status/progress of their enquiry in a member area. I don't want to have to register them myself manually, or have them complete a second form.

I can think of other scenarios where this might have cropped up before ... a purchase form which allows the customer to select a checkbox to create an account at point of checkout for ease of future purchases? So this must be possible, somehow.

Any ideas?

Thanks in advance!

1 Answer 1

0

Have you tried looking for an addon that might work? Browse https://devot-ee.com/ and see if there is something that works for you.

I do have an idea. Honestly, it depends on you being a capable developer or being able to employ one to do to the work.

Create an Extension that hooks on to the form submission using a hook:

https://docs.expressionengine.com/latest/development/extension_hooks/module/channel_form/index.html

In your extension, make sure you only look for your Enquiry channel's form submissions.

Then, in your extension, pull in the Member_register class from system/ee/EllisLab/Addons/member/mod.member_register.php. You'll have to make sure the channel form you are submitting has all the required $_POST variables the register_member() function is looking for, or you fake them in the extension before calling that function. Then call the register_member() function and hope for the best?

The only other option I see would be to make that extension, and then manually create database rows for your member. I reaallllly don't recommend this, as EE3 and EE4 don't play well at all if a member record isn't complete (all the required rows in all the required tables).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.