* Patch from James Westby to add a template for the search form.

* Cache search form for speedup.
master
joey 2006-08-26 21:57:59 +00:00
parent 02a2de8ead
commit 2bec3518c2
5 changed files with 23 additions and 23 deletions

View File

@ -27,6 +27,7 @@ sub checkconfig () { #{{{
} }
} #}}} } #}}}
my $form;
sub pagetemplate (@) { #{{{ sub pagetemplate (@) { #{{{
my %params=@_; my %params=@_;
my $page=$params{page}; my $page=$params{page};
@ -34,15 +35,13 @@ sub pagetemplate (@) { #{{{
# Add search box to page header. # Add search box to page header.
if ($template->query(name => "searchform")) { if ($template->query(name => "searchform")) {
$template->param(searchform => qq{ if (! defined $form) {
<form method="get" action="$IkiWiki::config{cgiurl}" id="searchform"> my $searchform = IkiWiki::template("searchform.tmpl", blind_cache => 1);
<div> $searchform->param(searchaction => $IkiWiki::config{cgiurl});
<input type="text" name="phrase" value="" size="16" /> $form=$searchform->output;
<input type="hidden" name="enc" value="UTF-8" /> }
<input type="hidden" name="do" value="hyperestraier" />
</div> $template->param(searchform => $form);
</form>
});
} }
} #}}} } #}}}

4
debian/changelog vendored
View File

@ -32,8 +32,10 @@ ikiwiki (1.22) UNRELEASED; urgency=low
from a different directory. from a different directory.
* Generalised preprocesser loop protection code. * Generalised preprocesser loop protection code.
* Patch from James Westby to allow a description to be set for rss feeds. * Patch from James Westby to allow a description to be set for rss feeds.
* Patch from James Westby to add a template for the search form.
* Cache search form for speedup.
-- Joey Hess <joeyh@debian.org> Sat, 26 Aug 2006 13:26:22 -0400 -- Joey Hess <joeyh@debian.org> Sat, 26 Aug 2006 17:51:16 -0400
ikiwiki (1.21) unstable; urgency=low ikiwiki (1.21) unstable; urgency=low

View File

@ -1,13 +0,0 @@
Here is a small patch that adds a new template for the search form.
http://jameswestby.net/scratch/search_template.diff
I wanted this so I could add a label to it easily.
I don't really think there's a problem with doing it except that it makes it
more easy to break the search box.
Thanks for the patch. The only problem I see is that the template
is identical but gets rebuilt per-page. Would probably be better to
build it only the first time, then reuse the rendered text for all
further pages, to avoid slowing ikiwiki down any. --[[Joey]]

View File

@ -29,6 +29,8 @@ It ships with some basic templates which can be customised:
* `rsslink.tmpl` - Used to add a rss link if blogpost.tmpl is not used. * `rsslink.tmpl` - Used to add a rss link if blogpost.tmpl is not used.
* `aggregatepost.tmpl` - Used by the [[plugins/aggregate]] plugin to create * `aggregatepost.tmpl` - Used by the [[plugins/aggregate]] plugin to create
a page for a post. a page for a post.
* `searchform.tmpl` - Used by the [[plugins/search]] plugin to add a search
form to wiki pages.
If you like, you can add these to further customise it: If you like, you can add these to further customise it:
@ -44,3 +46,6 @@ CGI::FormBuilder, which interfaces to HTML::Template, so not all of it can
be customised with templates, although most of it can, by creating these be customised with templates, although most of it can, by creating these
templates. Without the templates, CGI::FormBuilder creates the page bodies templates. Without the templates, CGI::FormBuilder creates the page bodies
by itself. by itself.
The [[plugin/template]] plugin also uses templates, though those templates
are stored in the wiki.

View File

@ -0,0 +1,7 @@
<form method="get" action="<TMPL_VAR SEARCHACTION>" id="searchform">
<div>
<input type="text" name="phrase" value="" size="16" />
<input type="hidden" name="enc" value="UTF-8" />
<input type="hidden" name="do" value="hyperestraier" />
</div>
</form>