1

I am trying to create a notification email in Postmaster to trigger on submission of a Zoo Visitor member registration form. The registration form includes a set of checkboxes for registrants to notify availability.

Using a Parcel in Postmaster as follows it will spit out all of the data but only on Edit/Update - not registration (new entry).

<h2>Performer Expression of Interest Application</h2>
<p>Date: {parcel:entry_date format="%d-%m-%Y"}</p>
<h3>{parcel:artist_group_name}</h3>
<p>{member:screen_name}</p>
<p>Email: {member:email}</p>
<p>{parcel:street_address}, {parcel:address_line_2}<br />{parcel:city} {parcel:postcode} {parcel:state}</p>
<p>Phone: {parcel:contact_phone}</p>
<p>Availability: {parcel:m_availability}</p>
<p>Website: {parcel:website_url}</p>
<p>Facebook: {parcel:facebook_profile_url}</p>
<p>Twitter: {parcel:twitter_profile_url}</p>
<p>YouTube: {parcel:youtube_channel_url}</p>
<h3>Bio / Description</h3>
{parcel:biography_act_description}

I've tried this with and without email self-activation turned on. I've tried this with all statuses and member groups ticked. Note that in this example, the Availability field outputs the correct data.

So I tried using the Zoo Visitor Register End Hook as follows:

<h2>Performer Expression of Interest Application</h2>
<p>Date: {hook:entry_date format="%d-%m-%Y"}</p>
<h3>{hook:artist_group_name}</h3>
<p>{member:screen_name}</p>
<p>Email: {member:email}</p>
<p>{hook:street_address}, {hook:address_line_2}<br />{hook:city} {hook:postcode} {hook:state}</p>
<p>Phone: {hook:contact_phone}</p>
<p>Availability: {hook:m_availability}</p>
<p>Website: {hook:website_url}</p>
<p>Facebook: {hook:facebook_profile_url}</p>
<p>Twitter: {hook:twitter_profile_url}</p>
<p>YouTube: {hook:youtube_channel_url}</p>
<h3>Bio / Description</h3>
{hook:biography_act_description}

But, I get a PHP error on form submission. The email notification arrives but with the Availability field just outputting:

Availability: Array

I also tried:

{hook:m_availability}{options}{/hook:m_availability}

and

{hook:m_availability}{option_value}{/hook:m_availability}

So, I guess there's an issue with parsing arrays like checkboxes etc when using the ZV hook - or I'm simply doing it wrong.

Seems I cant win either way.

If anyone can point me in the direction of either:

a) Getting Parcel to send notification on register

b) Outputting the Availability data when using a Hook

3
  • I'm running into the exact same issue using Zoo Visitor Register End Hook, plus another complication. My email template code [looks like this.]( pastie.org/9957854) That results in the email being displayed like so. On registration, PHP errors. The other complication is in trying to set a conditional based on the chosen option in the array. Something like {if hook:member_join_committee == "committee_marketing"}TRUE{/if} but no matter what's in there, all emails get sent out (a few different hooks are set up).
    – A Herrera
    Commented Feb 17, 2015 at 22:07
  • Oh, and I'm using P&T's Field Pack Checkboxes for the checkbox group, if that makes a difference.
    – A Herrera
    Commented Feb 17, 2015 at 22:08
  • This is exactly the same issue. I'm using native checkboxes so I think we can rule that out. I've added this as a bug report on Devot:ee Commented Feb 17, 2015 at 23:32

1 Answer 1

0

I would try to not use the native parsing of Postmaster and use the Zoo Visitor tags. This should work for you. There are no known issues with parsing zoo visitor tags and Postmaster.

{exp:zoo_visitor:details member_entry_id="{parcel:entry_id}"}

    // your template here and parse the variables without the "parcel:" prefix
    // just like a normal EE template

{/exp:zoo_visitor:details}

And as to whether you use the parcel or the hook really just depends on how you are using Zoo Visitor. Parcels work fine in most cases, but there are instances where the parcel isn't triggered properly, which is why the hooks exist. You guys will just have to decide which works best for your implementation.

2
  • ok, that works with a hook but with: {exp:zoo_visitor:details member_id="{hook:member_id}"} Not {exp:zoo_visitor:details member_entry_id="{parcel:entry_id}"} {hook:entry_id} parses 0 & with the suggested code the zoo_visitor:details tag pair doesn't parse anything at all. What is the problem with parsing the array using {hook:m_availability}? Commented Feb 18, 2015 at 6:38
  • I got it to work too but with Damien's change. I'm still having trouble with the extra conditional but I'll post a new question for that.
    – A Herrera
    Commented Feb 18, 2015 at 17:20

Your Answer

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

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