[ic] if tag weird behavior
Mike Heins
mike at perusion.com
Sun Oct 28 16:01:44 EST 2007
Quoting Ton Verhagen (tverhagen at alamerce.nl):
> Quoting Mike Heins <mike at perusion.com> :
> >Explicit is intended to have valid code as it's test, and a literal like
> >that has undetermined behavior when interpreted as Perl code.
> >
> >Why you would do that instead of:
> >
> > [if scratch test_value]
> > foo
> > [/if]
>
> Because I simplified the code a bit.
>
> I am actually testing if a control of a component contains a value or not.
> And as far as I am aware of, there is no [if control test_value]
> available in IC.
>
> I had something like below in a modified random component:
>
> [loop serach=|
> fi=products
> st=db
> [if type=explicit condition="[control brand]"]
> sf=brand
> se=[control brand]
> op=eq
> [else]
> ra=yes
> [/else]
> [/if]
> |]
> do something
> [/loop]
>
> Everything seemed to work well until we discovered that for
> brand=00000159 no proper results were returned.
You just can't do it. You need to give valid code, not an unquoted
literal. You can do:
[if type=explicit condition="'[control brand]'"]
sf=brand
se=[control brand]
op=eq
[else]
ra=yes
[/else]
[/if]
--
Mike Heins
Perusion -- Expert Interchange Consulting http://www.perusion.com/
phone +1.765.647.1295 tollfree 800-949-1889 <mike at perusion.com>
Few blame themselves until they have exhausted all other possibilities.
-- anonymous
More information about the interchange-users
mailing list