diff --git a/40-PicoSearch.php b/40-PicoSearch.php index 84d9d86..f1757d0 100644 --- a/40-PicoSearch.php +++ b/40-PicoSearch.php @@ -171,4 +171,8 @@ class PicoSearch extends AbstractPicoPlugin public function isLowValueWord($word) { return in_array(mb_strtolower($searchTerm), $this->getPluginConfig('low_value_words')); } + + public function onPageRendering(&$twig, &$twigVariables, &$templateName) { + $twigVariables['search_terms'] = $this->search_terms; + } } diff --git a/README.md b/README.md index d7a3eec..5071ffd 100644 --- a/README.md +++ b/README.md @@ -12,44 +12,48 @@ The search plugin should be executed before the pagination plugin (execution ord ## Installation -* **Copy the file `40-PicoSearch.php` to the `plugins` sub-folder of your Pico installation directory.** -* **Add a file named `search.md` to your content root or the sub-folder you want to make searchable.** +- **Copy the file `40-PicoSearch.php` to the `plugins` sub-folder of your Pico installation directory.** +- **Add a file named `search.md` to your content root or the sub-folder you want to make searchable.** This is your search results page. You can leave it empty of content, but set the `Template` meta tag to a template that loops through the pages and displays them. Your `search.md` might look like this: - + ``` /* Title: Search results Template: search */ ``` -* **Add a template file with the name defined in `search.md`.** + +- **Add a template file with the name defined in `search.md`.** Your template file (`search.twig` in the above example) should contain something like the following section, which lists the pages matching the search (substitute `paged_pages` for `pages` if using Pico-Pagination): - + ```twig -
{{ page.description }}
{% endif %} -No results found.
- {% endif %} -{{ page.description }}
{% endif %} +No results found for {{ search_terms|e('html') }}.
+ {% endif %} +