[ic] if explicit problem with data tag
Daniel Browning
db at endpoint.com
Sat Nov 21 20:28:16 UTC 2009
On Saturday 21 November 2009 11:36:56 am Rick Bragg wrote:
> [if type=explicit compare="$Tag->data({ table => groups
> column => description, key => [data session arg], })"] ...
> Any ideas what the problem is?
Here is what I suggest as a replacement:
[if type=data term="groups::description::[data session arg]"]
If you're curious why the first version didn't work, there are several
reasons. When you pass perl to a usertag, it helps to try executing that
perl by itself first to check for problems, like so:
[perl]
return $Tag->data(
{
table => groups
column => description,
key => [data session arg],
}
);
[/perl]
That will show you the syntax errors (missing comma, unquoted literals,
table access). Here is the fixed code:
[perl tables="groups"]
return $Tag->data(
{
table => 'groups',
column => 'description',
key => q{[data session arg]},
}
);
[/perl]
Then you could package that up and put it back in the compare="" clause, if
you could not use this shorter version for some reason:
[if type=data term="groups::description::[data session arg]"]
HTH,
--
Daniel Browning
End Point Corporation
http://www.endpoint.com/
More information about the interchange-users
mailing list