PHPackages                             burnbright/silverstripe-pagesearch - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. burnbright/silverstripe-pagesearch

ActiveSilverstripe-module

burnbright/silverstripe-pagesearch
==================================

Search pages accross a SilverStripe site.

83592PHP

Since Feb 21Pushed 10y ago2 watchersCompare

[ Source](https://github.com/burnbright/silverstripe-pagesearch)[ Packagist](https://packagist.org/packages/burnbright/silverstripe-pagesearch)[ RSS](/packages/burnbright-silverstripe-pagesearch/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

SilverStripe Page Search
========================

[](#silverstripe-page-search)

A simple search replacement for the default SilverStripe search functionality.

Searches will be performed on all Text,HTMLText,Varchar, and HTMLVarchar fields for the selected pagetype.

Pagetype can be specifically set with url vairalble, eg: `?pagetype=BlogEntry`.

Limitations
-----------

[](#limitations)

- Currently only tested with MySQLDatabase.
- Does not search on relations. Use a better engine like SOLR for this.

Usage
-----

[](#usage)

In your `Page_Controller` class:

```
	public function SearchForm() {
		$searchText = ($this->request && $this->request->requestVar('Search')) ?
						$this->request->requestVar('Search') : 'Search';
		$form = new Form(
			$this, 'SearchForm',
			new FieldList(
				TextField::create('Search', false)
					->setAttribute("Placeholder", $searchText)
			),
			new FieldList(
				FormAction::create('results', 'Go')
			)
		);
		$form->setFormMethod('GET');
		$form->setTemplate('SearchForm');

		return $form;
	}

	function results($data, $form, $request) {

		$search = PageSearch::create($request);

		$data = array(
			'Content' => '',
			'Results' => $search->results(),
			'Query' => $search->getQuery(),
			'Title' => _t('SearchForm.SearchResults', 'Search Results')
		);
		return $this->owner->customise($data)->renderWith(array('Page_results', 'Page'));
	}
```

Because a `DataList` is returned, you can wrap it in a `PaginatedList` to add pagination.

###  Health Score

24

—

LowBetter than 35% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1356335?v=4)[Jeremy Shipman](/maintainers/jedateach)[@jedateach](https://github.com/jedateach)

---

Top Contributors

[![jedateach](https://avatars.githubusercontent.com/u/1356335?v=4)](https://github.com/jedateach "jedateach (7 commits)")

### Embed Badge

![Health badge](/badges/burnbright-silverstripe-pagesearch/health.svg)

```
[![Health](https://phpackages.com/badges/burnbright-silverstripe-pagesearch/health.svg)](https://phpackages.com/packages/burnbright-silverstripe-pagesearch)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
