I'd like to customize the options in my Additional Participant registration form based on the options selected in the main Participant Registration form. But I can't figure out how to make data selected in the main form available to the Additional Participant form.

It looks like this information is not available in the Smarty context for the Additional Participant form, but I know it's stored somewhere because it is available for the Confirmation and Thank You forms.

Any suggestions on how I can expose this data in the Additional Participant context?

Note: I think this is similar to the question in Participant quantity passed to Additional Participant pages , but the answer there was to use Webforms and that's not an option for me as I'm on Joomla.

  • 1
    Check the template used for online event registrations called "Events - Registration Confirmation and Receipt (on-line)" located under Mailings > Message Templates > System Workflow Messages to see if that has the context you are looking for - you'll still need to adapt it to limit the additional participant form based on the participant ID of the main registrant). Nov 19, 2018 at 19:43
  • Thanks very much for the response Tamar, but I'm not sure I understand this recommendation. I see the information I need is probably available in either the $lineItem or $amount variables shown in the Message Template. But according to the Smarty debug, these variables are not available when the AdditionalParticipant.tpl loads. So I can't access them via Smarty template when I need them. I'm really not sure where they are stored, so how can I get to them? Is there a hook I can use?
    – minbori
    Nov 20, 2018 at 15:04
  • I'm not very technical, but from the sounds of it, you might be able to use docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_buildAmount for this purpose - I will defer to the more technical folks for any further detailed responses they might be able to provide. Nov 20, 2018 at 18:22


Your Answer

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