This module provides TNTSearch feature to Thelia. TNTSearch is a full-featured full text search (FTS) engine written entirely in PHP.
The module could be used in front-office, using the dedicated loop. It also replaces the standard back-office search.
- Copy the module into
<thelia_root>/local/modules/
directory and be sure that the name of the module is TntSearch. - Activate it in your thelia administration panel
Add it in your main thelia composer.json file
composer require thelia/tnt-search-module:~0.6.1
The search indexes will be updated each time a product, category, folder, content, brand, ... is updated in the back-office. This could take some time, depending on your configuration. You can disable this reali-time udate in the module configuration, to speed up back-office changes.
In this case, you have to rebuild the indexes manually, using the Rebuild Indexes
button in
the module configuiration page, or automatically using a cron which trigger the index
build from time to time with this Thelia command: Thelia tntsearch:indexes
This loops return ids of the elements selected.
Arguments | Description |
---|---|
search_for | A list of elements you want to search for (products , categories , folders , contents , brands , orders or customers ) |
langs | A list of lang you want to search on ex: 'fr_FR, en_US' |
search | The search term to look for |
Variable | Description |
---|---|
$PRODUCTS | A list of product ids or 0 |
$CATEGORIES | A list of category ids or 0 |
$BRANDS | A list of brand ids or 0 |
$FOLDERS | A list of folder ids or 0 |
$CONTENTS | A list of content ids or 0 |
$CUSTOMERS | A list of customer ids or 0 |
$ORDERS | A list of order ids or 0 |
To use this loop you need to combine it with another loop
{loop type="tnt-search" name="product-tnt-search-loop" search_for="products" langs="fr_FR" search=$search}
{loop type="product" name="product-loop" id=$PRODUCTS order="given_id"}
Put your code here
{/loop}
{/loop}
The order="given_id"
is important because TNTSearch return the ids in order of pertinence.