PHPackages                             fruitstudios/searchit - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. fruitstudios/searchit

ActiveCraft-plugin[Utility &amp; Helpers](/categories/utility)

fruitstudios/searchit
=====================

Configure powerful custom filters for an enhanced search experience in the Craft CMS control panel.

1.0.8(7y ago)2840.6k↓42.9%9[14 issues](https://github.com/fruitstudios/craft-searchit/issues)[2 PRs](https://github.com/fruitstudios/craft-searchit/pulls)proprietaryPHP

Since Oct 11Pushed 3y ago2 watchersCompare

[ Source](https://github.com/fruitstudios/craft-searchit)[ Packagist](https://packagist.org/packages/fruitstudios/searchit)[ RSS](/packages/fruitstudios-searchit/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (9)Dependencies (1)Versions (14)Used By (0)

[![Searchit](resources/img/searchit.svg)](https://github.com/fruitstudios/craft-searchit)

Searchit plugin for Craft CMS 3
===============================

[](#searchit-plugin-for-craft-cms-3)

Configure powerful custom filters for an enhanced search experience in the Craft CMS control panel. Harness the power of twig and element queries to create endless filtering options. Keep your clients happy!

See it in action...

[![Searchit Promo Video](resources/img/searchit-promo.png)](https://www.youtube.com/watch?v=CYzaND0IGPw)

Requirements
------------

[](#requirements)

This plugin requires Craft CMS 3.1.2 or later.

Installation
------------

[](#installation)

### Plugin Store

[](#plugin-store)

Log into your control panel, hit up the 'Plugin Store', search for this plugin and install.

### Composer

[](#composer)

Open terminal, go to your Craft project folder and use composer to load this plugin. Once loaded you can install via the Craft Control Panel, go to Settings → Plugins, locate the plugin and hit “Install”.

```
cd /path/to/project
composer require fruitstudios/searchit
```

Creating a filter
-----------------

[](#creating-a-filter)

Filters can be produced manually or dynamically and are made up of a JSON array containing rows with a label key `(string)` and a filter key `(string or valid JSON)`. If the filter contains a `string` then it will pass that value to the `search` parameter on the element search. If you pass JSON to the filter than you can create multiple query parameters.

**Creating a filter**

[![New Filter](resources/img/searchit-new.png)](resources/img/searchit-new.png)

**Ordering and preview**

[![Configuration](resources/img/searchit-config.png)](resources/img/searchit-config.png)

You have two ways to setup filters. Manually or dynamically.

#### Using Twig (Recommended)

[](#using-twig-recommended)

You can use the power of twig templating to create your filters. For example, if you want a filter entries by authors, then you can use the following...

```
{% for user in craft.users.all() %}
    {{ ({
        filter: {
            authorId: user.id
        },
        label: user.fullName
    })|json_encode() }}{{ not loop.last ? ',' }}
{% endfor %}
```

This essentially creates an element query like so...

```
{{ craft.entries.authorId(user.id).all() }}

```

#### Using JSON

[](#using-json)

Create a valid JSON array to build a filter

```
{ "filter":"page 1", "label":"Page 1" },
{ "filter":"page 2", "label":"Page 2" },
{ "filter":"page 3", "label":"Page 3" },
{ "filter":"page 4", "label":"Page 4" }
```

As the filter value is passing a string, this is essentially creating an element query like so...

```
{{ craft.entries.search('page 1').all() }}

```

#### As an include

[](#as-an-include)

If you prefer to keep your code in your templates/repo, then you can link directly to templates.

```
{% include '_includes/filters/rooms' ignore missing %}

```

Example usage
-------------

[](#example-usage)

Here are a few examples of different filters for different elements. The possibilities are endless!

### Entries

[](#entries)

Create filters for authors, date, categories, etc..

*Example: Filter by author...*

[![Entries](resources/img/searchit-entries.png)](resources/img/searchit-entries.png)

*How to get this filter...*

```
{% for user in craft.users.all() %}
    {{ ({
        filter: {
            authorId: user.id
        },
        label: user.fullName
    })|json_encode() }}{{ not loop.last ? ',' }}
{% endfor %}

```

### Categories

[](#categories)

Create filters to narrow down categories by heirarchy.

*Example: Filter by top level category...*

[![Categories](resources/img/searchit-categories.png)](resources/img/searchit-categories.png)

*How to get this filter...*

```
{% for category in craft.categories.group(‘alcoholicDrinks’).level(1).all() %}
   {{ ({
       filter: {
           descendantOf: category.id
       },
       label: category.title
   })|json_encode() }}{{ not loop.last ? ‘,’ }}
{% endfor %}

```

### Assets

[](#assets)

Create filters for file types, extensions etc.

*Example: Filter file type and extensions...*

[![Assets](resources/img/searchit-assets.png)](resources/img/searchit-assets.png)

*How to get these filters...*

**Kind filter**

```
{ "filter":"kind:compressed", "label":"Zip" },
{ "filter":"kind:image", "label":"Images" }
```

**Extension filter**

```
{ "filter":"extension:jpg", "label":"JPG" },
{ "filter":"extension:png", "label":"PNG" },
{ "filter":"extension:gif", "label":"GIF" }
```

Roadmap
-------

[](#roadmap)

Support for Commerce coming very soon

#### Useful Resources

[](#useful-resources)

Craft CMS Search Documentation [Docs](https://docs.craftcms.com/v3/searching.html)

As with the regular Craft Search, if you suspect that your search indexes don’t have the latest and greatest data, you can have Craft rebuild them with the Rebuild Search Indexes tool in Settings. [Docs](https://docs.craftcms.com/v3/searching.html#rebuilding-your-search-indexes)

Brought to you by [FRUIT](https://fruitstudios.co.uk)

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance10

Infrequent updates — may be unmaintained

Popularity38

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity69

Established project with proven stability

 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.

###  Release Activity

Cadence

Every ~24 days

Total

10

Last Release

2560d ago

Major Versions

1.0.8 → v3.x-dev2019-05-16

### Community

Maintainers

![](https://www.gravatar.com/avatar/9f4d08c9f1aa2ba3b8ac8155bfd559bad2e8519f2bf5122274077a64b6801a01?d=identicon)[fruitstudios](/maintainers/fruitstudios)

---

Top Contributors

[![samhibberd](https://avatars.githubusercontent.com/u/1846063?v=4)](https://github.com/samhibberd "samhibberd (1 commits)")

---

Tags

control-panelcraftcmspluginutilitysearchcmsfiltersCraftcraftcmscraft-pluginelementssearch filterssearchitcp-search

### Embed Badge

![Health badge](/badges/fruitstudios-searchit/health.svg)

```
[![Health](https://phpackages.com/badges/fruitstudios-searchit/health.svg)](https://phpackages.com/packages/fruitstudios-searchit)
```

###  Alternatives

[verbb/navigation

Create navigation menus for your site.

90683.7k17](/packages/verbb-navigation)[verbb/formie

The most user-friendly forms plugin for Craft.

101372.9k40](/packages/verbb-formie)[verbb/comments

Add comments to your site.

13753.1k](/packages/verbb-comments)[nystudio107/craft-similar

Similar for Craft lets you find elements, Entries, Categories, Commerce Products, etc, that are similar, based on... other related elements.

2675.4k1](/packages/nystudio107-craft-similar)[verbb/tablemaker

Create customizable and user-defined table fields.

40168.8k1](/packages/verbb-tablemaker)[supercool/tablemaker

Create customizable and user-defined table fields.

40141.7k](/packages/supercool-tablemaker)

PHPackages © 2026

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