PHPackages                             thelia/criteria-search-module - 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. thelia/criteria-search-module

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

thelia/criteria-search-module
=============================

Add a search engine to your categories page.

2.0.0(2y ago)04134[1 issues](https://github.com/thelia-modules/CriteriaSearch/issues)LGPL-3.0+PHP

Since Oct 19Pushed 2y ago4 watchersCompare

[ Source](https://github.com/thelia-modules/CriteriaSearch)[ Packagist](https://packagist.org/packages/thelia/criteria-search-module)[ RSS](/packages/thelia-criteria-search-module/feed)WikiDiscussions main Synced 2mo ago

READMEChangelog (5)Dependencies (3)Versions (7)Used By (0)

Criteria Search
===============

[](#criteria-search)

This module add a search engine to your categories page. With it you can search by some feature or attribute (defined in category edition), by brand, new, promo, stock and price (only TTC for now)

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

[](#installation)

### Manually

[](#manually)

- Copy the module into `/local/modules/` directory and be sure that the name of the module is CriteriaSearch.
- Activate it in your thelia administration panel

### Composer

[](#composer)

Add it in your main thelia composer.json file

```
composer thelia/criteria-search-module ~1.0.0

```

Usage
-----

[](#usage)

Simple filter :
---------------

[](#simple-filter-)

The simple filter are 'new','promo','filter','price' and 'brand'. Theses filter are configurable only globally for all categories in CriteriaSearch module config.

Complexe filter :
-----------------

[](#complexe-filter-)

Two others kind of filter is by features and by attributes. For theses filter you have to enabled it by category in category config page under tab modules.

Hook
----

[](#hook)

3 hooks are created with this module : 1 for search engine css 1 for search engine page 1 for search engine javascript

Loop
----

[](#loop)

### search\_attribute and search\_feature

[](#search_attribute-and-search_feature)

Extends the Thelia loop : [Attribute](http://doc.thelia.net/en/documentation/loop/attribute.html) and [Feature](http://doc.thelia.net/en/documentation/loop/feature.html)Used to know which attributes is available for search

#### Additional input arguments

[](#additional-input-arguments)

ArgumentDescription**category**The category id or list of ids#### Additional output arguments

[](#additional-output-arguments)

VariableDescriptionSEARCHABLEAttribute is 'searchable' or not#### Exemple

[](#exemple)

```
    {loop type="search_attribute" name="search_attribute_loop" category=$category_id}
        {if $SEARCHABLE}
            ### Display the attribute
        {/if}
    {/loop}
```

### search\_attribute\_av and search\_feature\_av

[](#search_attribute_av-and-search_feature_av)

Extends the Thelia loop : [Attribute](http://doc.thelia.net/en/documentation/loop/attribute_availability.html) and [Feature availability](http://doc.thelia.net/en/documentation/loop/feature_availability.html)Used to filter attribute\_availability by category only if at least one product in this category have this attribute\_availability

#### Additional input arguments

[](#additional-input-arguments-1)

ArgumentDescription**category**The category id or list of ids#### Additional output arguments

[](#additional-output-arguments-1)

No

#### Exemple

[](#exemple-1)

```
    {loop type="search_attribute" name="search_attribute_loop" category=$category_id}
        {if $SEARCHABLE}
            {$attributeId = $ID}
            ### IF ATTRIBUTE IS SEARCHABLE
            {ifloop rel="search_attribute_av_loop"}

                        {$TITLE}

                            {loop type="search_attribute_av" name="search_attribute_av_loop" attribute=$ID category=$category_id return_empty=false force_return=true}
                                ### ADD SEARCH INPUT ONLY FOR ATTRIBUTE AVAILABLE IN THIS CATEGORY
                            {/loop}

            {/ifloop}
        {/if}
    {/loop}
```

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 68.2% 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 ~257 days

Total

5

Last Release

1000d ago

Major Versions

1.0.3 → 2.0.02023-08-16

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2196919?v=4)[thelia](/maintainers/thelia)[@thelia](https://github.com/thelia)

---

Top Contributors

[![lopes-vincent](https://avatars.githubusercontent.com/u/6057206?v=4)](https://github.com/lopes-vincent "lopes-vincent (15 commits)")[![julescournut](https://avatars.githubusercontent.com/u/26310511?v=4)](https://github.com/julescournut "julescournut (4 commits)")[![ThomasDaSilva](https://avatars.githubusercontent.com/u/97163246?v=4)](https://github.com/ThomasDaSilva "ThomasDaSilva (3 commits)")

### Embed Badge

![Health badge](/badges/thelia-criteria-search-module/health.svg)

```
[![Health](https://phpackages.com/badges/thelia-criteria-search-module/health.svg)](https://phpackages.com/packages/thelia-criteria-search-module)
```

###  Alternatives

[ruflin/elastica

Elasticsearch Client

2.3k50.4M203](/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)[outl1ne/nova-multiselect-filter

Multiselect filter for Laravel Nova.

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

a general purpose text search engine written entirely in PHP 5

39921.0k35](/packages/handcraftedinthealps-zendsearch)

PHPackages © 2026

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