This question shares a lot of features with a question I asked a year ago (CiviEvent: how to collect different custom data for different event participant roles?) but I'm still faced with a use case I can't solve :-(

Here's the scenario: a user registers herself and a guest for an event (there is an Attendee profile used to gather info on the main registrant, and a guest profile used for the Additional Participants forms which collects different data that is specific to the Guest). Later, the user realizes she'd like to register another guest. How does she do that? (Ed by Pete) She cannot use the form again without being presented with the primary participants fields, whereas we only want to collect the data for the Guest profiles

I thought I could use the "Event Registration Based on Participant Roles" extension, and create a link to a blank registration form sepcifically for signing up a participant with a Guest role. But although the extension works fine to set the participant role for the Guest registration form, the form itself displays the Attendee profile, not the guest one! I cannot for the life of me figure out how to specify a different profile than the default one for a registration form.

What I've tried:

-- Form hooks only allow me to manipulate the output on the form -- I can't remove the underlying Attendee profile fields or change what profile is included when the form is built.

-- I can't link directly to the AdditionalParticipant.tpl form, because it only functions within the data context of the main registration process.

-- I've even tried hacking the source code Register.php to conditionally load a different profile based on user role, but it seems the extension is also just using the buildForm hook, so at the PHP level I can't tell the difference between a regular registration and someone registering a guest directly. I can't determine when to load the guest profile instead of the attendee profile.

-- The only workaround I've come up with is to "allow multiple registrations with the same email address", and created a $0 priceset option "already registered, just updating my registration data". So people can come back to the main registration form, select that no-cost option, and fill out more additional participant/guest forms. Of course that's not very user friendly, and gets ugly in the reports, looking like the same attendee has registered multiple times.....

This is a Joomla system so please don't suggest Webforms -- I know this would be much simpler using Webforms but I don't have Drupal available to me.

Any and all ideas welcome.

  • Can you explain what prevent that person (if they are logged out) from just resubmitting the form (since they are anonymous) with the new participants details? Or, if they are logged in, using the "you can also register another participant." option
    – petednz - fuzion
    Commented Nov 26, 2019 at 18:01
  • The problem is that even if they are anonymous, the registration form shows the profile set as the default attendee profile in the event settings. I need to collect different information from the guests than I do from the attendees.
    – minbori
    Commented Nov 26, 2019 at 18:22
  • How can I show a registration form with the profile set as the one for the "additional participants" in the event? Basically, I need a way to create an event registration form with a different profile than the default set in the event.
    – minbori
    Commented Nov 26, 2019 at 18:24
  • ah - right - no i don't have a quick solution for that.
    – petednz - fuzion
    Commented Nov 26, 2019 at 19:02
  • i tweaked the Q with that info. hope that was okay.
    – petednz - fuzion
    Commented Nov 26, 2019 at 19:05


Your Answer

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