PHPackages                             thelia/doofinder-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. [API Development](/categories/api)
4. /
5. thelia/doofinder-module

ActiveThelia-module[API Development](/categories/api)

thelia/doofinder-module
=======================

Doofinder module for Thelia

1.0.2(1mo ago)013↓85.7%1LGPL-3.0-or-laterPHPCI passing

Since Feb 16Pushed 3w ago5 watchersCompare

[ Source](https://github.com/thelia-modules/Doofinder)[ Packagist](https://packagist.org/packages/thelia/doofinder-module)[ RSS](/packages/thelia-doofinder-module/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (3)Dependencies (3)Versions (6)Used By (0)

Doofinder
=========

[](#doofinder)

This module allows to configure the [Doofinder](http://www.doofinder.com) search service to your Thelia Website

Doofinder allows your website to display your product information to your customer

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

[](#installation)

### Composer

[](#composer)

Add it in your main thelia composer.json file

```
composer require thelia/doofinder-module:~1.0

```

Usage
-----

[](#usage)

This Module has three configuration sections:

- **Configuration:** to configure the information of your Doofinder search engine.
- **Search Engine:** to show your search engine data.
- **Front Hooks:** to configure the front hooks (optional).

### Configure Doofinder

[](#configure-doofinder)

First, configure your module with your search engine and user information All information are on your [Doofinder Admin Interface](https://admin.doofinder.com)

Information required :

- server of the search engine: (probably eu1 or us1)
- hash\_id of the search engine
- user id: (Go to user account -&gt; Api Keys)
- token user: (Go to user account -&gt; Api Keys. You will need to generate it)

If your configuration is correct, the information will be displayed in the Search Engine section

### Power your search with Doofinder

[](#power-your-search-with-doofinder)

There are two ways to power your search:

Configure the Front Hooks (optional if you are add the script manually):

- Hook search script is the hook where the doofinder search script will be added in the front page
- id of the search Bar is the id of your search bar

Or Manually Add the script (you will need to add your website information)

```

        var doofinder_script ='//d3chj0zb5zcn0g.cloudfront.net/media/js/doofinder-3.latest.min.js';
        (function(d,t){
            var f=d.createElement(t),s=d.getElementsByTagName(t)[0];f.async=1;
                f.src=('https:'==location.protocol?'https:':'http:')+doofinder_script;
                s.parentNode.insertBefore(f,s)}(document,'script')
        );
        if(!doofinder){var doofinder={};}
        doofinder.options = {
            lang: 'LANG',
            hashid: 'YOUR_HASH_ID',
            queryInput: '#query_input_id',
            width: 535,
            dleft: -112,
            dtop: 84,
            marginBottom: 0
        }

```

At the end of the script you will see a `doofinder.options` section. Here is where you will have to make adjustments.

The Doofinder layer is attached to a search box. To identify that input control, we use a *CSS selector*. In this case the selector is `#query_input_id` that identifies the HTML element with an id attribute with a value of `query_input_id`.

There are three other parameters you probably will want to customize:

- `width`: The width of the layer. Use a number without quotes around it.
- `dleft`: Is the horizontal displacement of the layer from the point where it is placed automatically. You can use a positive or negative number without quotes around it.
- `dtop`: Is the vertical displacement of the layer from the point where it is placed automatically. You can use a positive or negative number without quotes around it.

If you decide to put the search box included with this plugin for the top of the page, you probably will have to adjust these parameters. Remember to do it for each script.

Synchronize your product with Doofinder
---------------------------------------

[](#synchronize-your-product-with-doofinder)

Doofinder needs your product information to be read from a data file located in a public web URL. This module is working with the API to send you product information and make statistics

To synchronize your products, you can use the button in the module back-office or synchronize one by saving him or use this command :

```
php Thelia module:doofinder:synchronize
```

Notes:

- Inactive products and Exclude products are not sent to Doofinder
- You can exclude a product by checking the checkbox on your product Bo page
- Everytime you are updating your product, it will be synchronized with Doofinder

Documentation
-------------

[](#documentation)

[Doofinder Admin Interface](https://admin.doofinder.com)

Doofinder api :

- [Documentation API Search](https://docs.doofinder.com/api/search/v6/)
- [Documentation API Management](https://docs.doofinder.com/api/management/v2/)

Doofinder php library :

- [Documentation API Search](https://github.com/doofinder/php-doofinder/blob/master/src/Search/README_SEARCH.md)
- [Documentation API Management](https://github.com/doofinder/php-doofinder/blob/master/src/Management/README_MANAGEMENT.md)

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance93

Actively maintained with recent releases

Popularity8

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 63.6% 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 ~420 days

Total

3

Last Release

49d ago

### Community

Maintainers

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

---

Top Contributors

[![ThomasDaSilva](https://avatars.githubusercontent.com/u/97163246?v=4)](https://github.com/ThomasDaSilva "ThomasDaSilva (7 commits)")[![thomas-dsm](https://avatars.githubusercontent.com/u/84772220?v=4)](https://github.com/thomas-dsm "thomas-dsm (3 commits)")[![zawaze](https://avatars.githubusercontent.com/u/37273643?v=4)](https://github.com/zawaze "zawaze (1 commits)")

### Embed Badge

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

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

###  Alternatives

[hubspot/api-client

Hubspot API client

24016.2M20](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172445.0k18](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93459.5k6](/packages/botman-driver-telegram)

PHPackages © 2026

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