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. [Search &amp; Filtering](/categories/search)
4. /
5. burnbright/silverstripe-pagesearch

ActiveSilverstripe-module[Search &amp; Filtering](/categories/search)

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 1mo ago

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 32% 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)
```

###  Alternatives

[ruflin/elastica

Elasticsearch Client

2.3k50.4M202](/packages/ruflin-elastica)[opensearch-project/opensearch-php

PHP Client for OpenSearch

15024.3M65](/packages/opensearch-project-opensearch-php)[mailerlite/laravel-elasticsearch

An easy way to use the official PHP ElasticSearch client in your Laravel applications.

934529.3k2](/packages/mailerlite-laravel-elasticsearch)[massive/search-bundle

Massive Search Bundle

721.4M13](/packages/massive-search-bundle)[shyim/opensearch-php-dsl

OpenSearch/Elasticsearch DSL library

175.9M9](/packages/shyim-opensearch-php-dsl)[outl1ne/nova-multiselect-filter

Multiselect filter for Laravel Nova.

45802.7k3](/packages/outl1ne-nova-multiselect-filter)

PHPackages © 2026

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