Difference: FormattedSearch (17 vs. 18)

Revision 182007-01-14 - TWikiContributor

Line: 1 to 1
 
META TOPICPARENT name="TWikiVariables"
Line: 12 to 12
  Two parameters can be used to specify a customized search result:
Changed:
<
<
1. header="..." parameter
>
>

1. header="..." parameter

  Use the header parameter to specify the header of a search result. It should correspond to the format of the format parameter. This parameter is optional.
Example: header="| *Topic:* | *Summary:* |"
Changed:
<
<
2. format="..." parameter
>
>
Variables that can be used in the header string:

Name: Expands To:
$web Name of the web
$n or $n() New line. Use $n() if followed by alphanumeric character, e.g. write Foo$n()Bar instead of Foo$nBar
$nop or $nop() Is a "no operation". This variable gets removed; useful for nested search
$quot Double quote ("). Alternatively write \" to escape it
$percnt Percent sign (%)
$dollar Dollar sign ($)

2. format="..." parameter

  Use the format parameter to specify the format of one search hit.
Example: format="| $topic | $summary |"
Line: 65 to 75
 

Examples

Added:
>
>
Here are some samples of formatted searches. The SearchPatternCookbook has other examples, such as creating a picklist of usernames, searching for topic children and more.
 

Bullet list showing topic name and summary

Line: 83 to 94
 In a web where there is a form that contains a TopicClassification field, an OperatingSystem field and an OsVersion field we could write:

| *Topic:* | *OperatingSystem:* | *OsVersion:* |

Changed:
<
<
%SEARCH{ "[T]opicClassification.*?value=\"[P]ublicFAQ\"" scope="text" regex="on" nosearch="on" nototal="on" format="| [[$topic]] | $formfield(OperatingSystem) | $formfield(OsVersion) |" }%
>
>
%SEARCH{ "[T]opicClassification.*?value=\"[P]ublicFAQ\"" scope="text" type="regex" nosearch="on" nototal="on" format="| [[$topic]] | $formfield(OperatingSystem) | $formfield(OsVersion) |" }%
  To get this:
Line: 105 to 116
  Write this:
Changed:
<
<
%SEARCH{ "__Back to\:__ TWikiFAQ" scope="text" regex="on" nosearch="on" nototal="on" header="TWiki FAQs:" format="   * $pattern(.*?FAQ\:[\n\r]*([^\n\r]+).*) [[$topic][Answer...]]" }%
>
>
%SEARCH{ "__Back to\:__ TWikiFAQ" scope="text" type="regex" nosearch="on" nototal="on" header="TWiki FAQs:" format="   * $pattern(.*?FAQ\:[\n\r]*([^\n\r]+).*) [[$topic][Answer...]]" }%
  To get this:
Changed:
<
<
Could not perform search. Error was: /bin/grep -E -i -l -H -- %TOKEN|U% %FILES|F% Grep for '__Back to\:__ TWikiFAQ' returned error
>
>
Could not perform search. Error was: /bin/grep -E -i -l -H -- %TOKEN|U% %FILES|F% Grep for '__Back to\:__ TWikiFAQ' returned error
 

Nested Search

Line: 142 to 153
  Write this:
Changed:
<
<
%SEARCH{ "\.*" scope="topic" regex="on" nosearch="on" nototal="on" order="modified" reverse="on"  format="| [[$topic]] | $wikiusername  | $date |" limit="7" }%
>
>
%SEARCH{ "\.*" scope="topic" type="regex" nosearch="on" nototal="on" order="modified" reverse="on"  format="| [[$topic]] | $wikiusername  | $date |" limit="7" }%
  To get this:
Changed:
<
<
WebTopicEditTemplate TWikiAdminUser 2019-02-24 - 18:21
TopMenuSkinTopBar TWikiAdminUser 2019-02-23 - 13:55
WebPreferences TWikiAdminUser 2019-02-20 - 13:47
TWikiPreferencesForm TWikiAdminUser 2019-01-28 - 21:09
StylePlugin TWikiAdminUser 2019-01-20 - 13:42
TWikiGuestCacheAddOn TWikiAdminUser 2019-01-03 - 20:12
VarCachePlugin TWikiAdminUser 2019-01-03 - 20:11
>
>
WebTopicEditTemplate TWikiAdminUser 2019-02-24 - 18:21
TopMenuSkinTopBar TWikiAdminUser 2019-02-23 - 13:55
WebPreferences TWikiAdminUser 2019-02-20 - 13:47
TWikiPreferencesForm TWikiAdminUser 2019-01-28 - 21:09
StylePlugin TWikiAdminUser 2019-01-20 - 13:42
TWikiGuestCacheAddOn TWikiAdminUser 2019-01-03 - 20:12
VarCachePlugin TWikiAdminUser 2019-01-03 - 20:11
 

Search with conditional output

Line: 161 to 172
 Write this:

%CALC{$SET(weekold, $TIMEADD($TIME(), -7, day))}%

Changed:
<
<
%SEARCH{ "." scope="topic" regex="on" nosearch="on" nototal="on" order="modified" reverse="on" format="$percntCALC{$IF($TIME($date) < $GET(weekold), <nop>, | [[$topic]] | $wikiusername | $date | $rev |)}$percnt" limit="100" }%
>
>
%SEARCH{ "." scope="topic" type="regex" nosearch="on" nototal="on" order="modified" reverse="on" format="$percntCALC{$IF($TIME($date) < $GET(weekold), <nop>, | [[$topic]] | $wikiusername | $date | $rev |)}$percnt" limit="100" }%
 
  • The first line sets the weekold variable to the serialized date of exactly one week ago
  • The SEARCH has a deferred CALC. The $percnt makes sure that the CALC gets executed once for each search hit
Line: 172 to 183
 To get this:
Changed:
<
<
Could not perform search. Error was: RCS: /usr/bin/rlog -h %FILENAME|F% of .../TWiki/TWikiRegistration.txt,v failed:
>
>
Could not perform search. Error was: RCS: /usr/bin/rlog -h %FILENAME|F% of .../TWiki/TWikiRegistration.txt,v failed:
 

Embedding search forms to return a formatted result

Line: 198 to 209
 Result:
Changed:
<
<
Related Topics: UserDocumentationCategory
>
>
Related Topics: UserDocumentationCategory, SearchHelp, TWikiVariables#VarSEARCH, SearchPatternCookbook, RegularExpression
 
Added:
>
>
-- Contributors: TWiki:Main.PeterThoeny, TWiki:Main.CrawfordCurrie
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 1999-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.FormattedSearch.