1

We're having an issue with a Playa field in Postmaster:

Technically this should work, but it doesn't:

{parcel:company_membership_package}
  {title}
{/company_membership_package}

We're getting these messages which seem to indicate that Playa is at fault. I haven't look at it in detail, so it may actual be Postmaster sending the data wrongly.

A PHP Error was encountered
Severity: Notice
Message: Undefined index: entry_id
Filename: playa/ft.playa.php
Line Number: 2281

Same message repeated with line 2285 and 2287. I wouldn't be concerned about these notices, except that the data isn't retrieved.

Thanks, Paul

Edit: Screenshots. enter image description here enter image description here enter image description here

4
  • Hey Paul - what version of Playa, EE, and Postmaster are you on? And is that the entire template? Lastly, can you reproduce this in a normal EE template via the Template Manager? – Lisa Mar 4 '13 at 22:59
  • @LisaWess, it works fine in a normal EE template. Sorry for missing out the versions - EE 2.5.5, Playa 4.3.3, Postmaster 1.2. I'll add some screenshots. – Paul Mar 5 '13 at 10:56
  • @LisaWess Thanks for the assist. You can see my answer below for an explanation as to why this is happening. – Justin Kimbrell Mar 5 '13 at 16:28
  • Justin, thank you! I haven't personally worked with Postmaster, so this will help if it comes up again in the future. Thanks for jumping in! – Lisa Mar 5 '13 at 19:29
3

The reason Playa isn't working is because you need to use a Channel Entries loop. The template parser for Postmaster is pretty complex, and is different than a channel entries loop for many reasons. You should do something like:

{exp:channel:entries dynamic="no" entry_id="{parcel:entry_id}"}

    {company_membership_package}
        {title}
    {/company_membership_package}

{/exp:channel:entries}

The reason it doesn't work the other way is because Playa and Matrix rely on hooks triggered by the channel entries tag. And since the Postmaster parse doesn't trigger those hooks, the modules will break unless you use a channel entries tag.

I will also add, that even if things worked like this, the following syntax is incorrect:

{parcel:company_membership_package}
    {title}
{/company_membership_package}

The correct syntax would be (assumed the field wasn't Playa)

{parcel:company_membership_package}
    {title}
{/parcel:company_membership_package}
4
  • Thanks Justin, that makes sense. Yes, there was a mistake in the code I posted. – Paul Mar 5 '13 at 16:52
  • Any chance of adding some of this to the docs? – Paul Mar 5 '13 at 16:53
  • I am happy to add this information to docs, do you have any suggestions on where to put such information? That's the hardest part about this, I can add that in my docs is easy but putting it in a logical place users easily find and read it is difficult at times. – Justin Kimbrell Mar 5 '13 at 20:13
  • Haha, yeah, I know what you mean. How about an Addon Compatibility section? That would also give you a chance to list known compatibilities and incompatibilities. Thx – Paul Mar 5 '13 at 20:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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