Difference: FormattedSearch (12 vs. 13)

Revision 132004-03-17 - PeterThoeny

Line: 1 to 1
 
META TOPICPARENT name="TWikiVariables"
Line: 24 to 24
 Variables that can be used in the format string:

Name: Expands To:
Changed:
<
<
$web Name of the web(s), separated by commas, or 'all'
>
>
$web Name of the web
 
$topic Topic name
$topic(20) Topic name, "- " hyphenated each 20 characters
$topic(30, -<br />) Topic name, hyphenated each 30 characters with separator "-<br />"
$topic(40, ...) Topic name, shortended to 40 characters with "..." indication
$text Formatted topic text. In case of a multiple="on" search, it is the line found for each search hit.
$locked LOCKED flag (if any)
Changed:
<
<
$date Time stamp of last topic update, like 28 Mar 2024 - 14:27
$isodate Time stamp of last topic update, like 2024-03-28T14:27Z
$rev Number of last topic revision, like 1.4
$username Login name of last topic update, like jsmith
$wikiname Wiki user name of last topic update, like JohnSmith
>
>
$date Time stamp of last topic update, e.g. 28 Mar 2024 - 14:27
$isodate Time stamp of last topic update, e.g. 2024-03-28T14:27Z
$rev Number of last topic revision, e.g. 1.4
$username Login name of last topic update, e.g. jsmith
$wikiname Wiki user name of last topic update, e.g. JohnSmith
 
$wikiusername Wiki user name of last topic update, like Main.JohnSmith
Added:
>
>
$createdate Time stamp of topic revision 1.1
$createusername Login name of topic revision 1.1, e.g. jsmith
$createwikiname Wiki user name of topic revision 1.1, e.g. JohnSmith
$createwikiusername Wiki user name of topic revision 1.1, e.g. Main.JohnSmith
 
$summary Topic summary
Added:
>
>
$formname The name of the form attached to the topic; empty if none
 
$formfield(name) The field value of a form field; for example, $formfield(TopicClassification) would get expanded to PublicFAQ. This applies only to topics that have a TWikiForm
$formfield(name, 10) Form field value, "- " hyphenated each 10 characters
$formfield(name, 20, -<br />) Form field value, hyphenated each 20 characters with separator "-<br />"
$formfield(name, 30, ...) Form field value, shortended to 30 characters with "..." indication
Changed:
<
<
$pattern(reg-exp) A regular expression pattern to extract some text from a topic. In case of a multiple="on" search, the pattern is applied to the line found in each search hit. For example, $pattern(.*?\*.*?Email\:\s*([^\n\r]+).*) extracts the email address from a bullet of format * Email: ....
>
>
$pattern(reg-exp) A regular expression pattern to extract some text from a topic (does not search meta data; use $formfield instead). In case of a multiple="on" search, the pattern is applied to the line found in each search hit. The pattern must cover the whole text (topic or line). For example, $pattern(.*?\*.*?Email\:\s*([^\n\r]+).*) extracts the email address from a bullet of format * Email: .... This example has non-greedy .*? patterns to scan for the first occurance of the Email bullet; use greedy .* patterns to scan for the last occurance.
 
$n or $n() New line
$nop or $nop() Is a "no operation". This variable gets removed; useful for nested search
$quot Double quote ("). Alternatively write \" to escape it
Line: 110 to 115
 
  • First search:
    • %SEARCH{ "culture" format="   * $topic is referenced by: (list all references)" nosearch="on" nototal="on" }%
  • Second search. For each hit we want this search:
Changed:
<
<
    • %SEARCH{ "(topic found in first search)" format="   $topic" nosearch="on" nototal="on" }%
>
>
    • %SEARCH{ "(topic found in first search)" format="$topic" nosearch="on" nototal="on" separator=", " }%
 
  • Now let's nest the two. We need to escape the second search, e.g. the first search will build a valid second search string. Note that we escape the second search so that it does not get evaluated prematurely by the first search:
    • Use $percnt to escape the leading percent of the second search
    • Use \" to escape the double quotes
Line: 119 to 124
  Write this:
Changed:
<
<
%SEARCH{ "culture" format="   * $topic is referenced by:$n      * $percntSEARCH{ \"$topic\" format=\"   $dollartopic\" nosearch=\"on\" nototal=\"on\" }$nop%" nosearch="on" nototal="on" }%
>
>
%SEARCH{ "culture" format="   * $topic is referenced by:$n      * $percntSEARCH{ \"$topic\" format=\"$dollartopic\" nosearch=\"on\" nototal=\"on\" separator=\", \" }$nop%" nosearch="on" nototal="on" }%
  To get this:
Changed:
<
<
>
>
 

Most recently changed pages

Line: 135 to 140
 
UserReports TWikiContributor 2015-05-29 - 23:43
WebTopBar TWikiContributor 2014-06-19 - 03:03
TWikiAccessDotPm TWikiContributor 2013-10-14 - 08:02
WebPreferencesHelp TWikiContributor 2013-09-25 - 19:36
VarX TWikiContributor 2013-09-14 - 07:33
VarADDTOHEAD TWikiContributor 2013-09-13 - 00:05
WysiwygPluginSettings TWikiContributor 2013-09-12 - 05:06
Changed:
<
<
-- TWiki:Main.PeterThoeny - 15 Dec 2003
>
>

Embedding search forms to return a formatted result

Use an HTML form and an embedded formatted search on the same topic. You can link them together with an %URLPARAM{"..."}% variable. Example:

Write this:

<form action="%SCRIPTURLPATH%/view%SCRIPTSUFFIX%/%WEB%/%TOPIC%">
Find Topics: 
<input type="text" name="q" size="32" value="%URLPARAM{"q"}%" />
<input type="submit" value="Search" />
</form>
Result:
%SEARCH{ search="%URLPARAM{"q"}%" format="   * $web.$topic: %BR% $summary" nosearch="on" }%

To get this:

Find Topics:
Result:

-- TWiki:Main.PeterThoeny - 16 Mar 2004

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 1999-2024 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.