This question about Topic Markup Language and applications: Answered
Hey folks!
I'm trying to check in my if statement if an existing formfield is empty and if so then display the topic name else the name of the formfield. Not sure if I'm handling isempty the right way. My approaches (please see source in editing mode):
[[$topic][ %IF{"isempty '$formfield(Handelsname)'" then="$topic" else="$formfield(Handelsname)"}% ]]
Tried to define preference setting HANDELSNAME but did not work neither:
[[$topic][ %IF{"isempty '%HANDELSNAME%'" then="$topic" else="$formfield(Handelsname)"}% ]]
Anyone knows if what I'm trying to do is technically possible? The documentation or examples for the isempty command is not that much.
Hope anyone can help me.
--
PaulHahler - 23 Mar 2010
From your example I assume you are using this in a SEARCH query. You can use the
FORMFIELD macro to show a string if the field is empty or if the field does not exist.
In a search you need to escape the
%
and
"
chars with
$percnt
and
$quot
.
For example:
updated
%SEARCH{
type="query"
"QuestionForm"
excludetopic="QuestionForm"
nonoise="on"
limit="10"
format=" * [[$web.$topic][$percntFORMFIELD{$quotExtension$quot topic=$quot$topic$quot default=$quottdefault value=$topic$quot}$percnt]]"
}%
--
ArthurClemens - 23 Mar 2010
Thanks for your fast support, but this is not actually what I was looking for. In the example you gave above is always shown the topic name as default. I want the search to show the fieldname, in your example "extension", and if this field would be empty then I want the search to show the topicname instead of the empty field.
Another question by the way.. the % and " must I always escape when I'm working with another macro?
--
PaulHahler - 24 Mar 2010
I made a small update to Arthur's format line, adding topic= so that the FORMFIELD macro looks in the right topic for the formfield.
Not sure about explaining the macros but I believe that if the FORMFIELD macro in the format line did not have $percnt it would have expanded (executed) before the SEARCH and thus would not be able to use the
$topic
variable (that comes from the SEARCH result).
If there were two macros in the format line then the left macro would expand before the right, unless delayed with $percnt. So $percnt is for delaying execution and $quot (I think you also can write \") is so the outer macro and parameters don't mix up with the nested macro and it's parameters.
See
FormattedSearch, the Nested Search for the basics. Also when ready
Support/Faq22.
--
LarsEik - 24 Mar 2010
Paul, I think the example does what you need:
show the fieldname [...] and if this field would be empty then [...] show the topicname instead of the empty field. The
default
parameter is read when the fied name is empty.
--
ArthurClemens - 25 Mar 2010