diff --git a/core/lib/Thelia/Core/Template/Loop/Category.php b/core/lib/Thelia/Core/Template/Loop/Category.php index 9dbb3ea2a..90b54e3fd 100644 --- a/core/lib/Thelia/Core/Template/Loop/Category.php +++ b/core/lib/Thelia/Core/Template/Loop/Category.php @@ -18,6 +18,7 @@ use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Element\PropelSearchLoopInterface; +use Thelia\Core\Template\Element\SearchLoopInterface; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; @@ -51,7 +52,7 @@ use Thelia\Model\ProductQuery; * @author Manuel Raynaud * @author Etienne Roudeix */ -class Category extends BaseI18nLoop implements PropelSearchLoopInterface +class Category extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLoopInterface { protected $timestampable = true; protected $versionable = true; @@ -83,6 +84,23 @@ class Category extends BaseI18nLoop implements PropelSearchLoopInterface ); } + /** + * @return array of available field to search in + */ + public function getSearchIn() + { + return [ + "title" + ]; + } + + public function doSearch(&$search, $searchTerm, $searchIn, $searchCriteria) + { + $search->_and(); + + $search->where("CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) THEN `requested_locale_i18n`.`TITLE` ELSE `default_locale_i18n`.`TITLE` END ".$searchCriteria." ?", $searchTerm, \PDO::PARAM_STR); + } + public function buildModelCriteria() { $search = CategoryQuery::create(); diff --git a/templates/backOffice/default/search.html b/templates/backOffice/default/search.html index b20e303d2..079ae1b69 100644 --- a/templates/backOffice/default/search.html +++ b/templates/backOffice/default/search.html @@ -170,6 +170,44 @@ {* end order search *} + {* category search *} +
+
+ + + + + + + + + + + + + + {loop type="category" name="category-search" visible="*" search_mode="sentence" search_term=trim($smarty.get.search_term) search_in="title"} + + + + + + + {/loop} + +
+ {intl l='Category'} +
{intl l="ID"}{intl l="Category title"}{intl l="Actions"}
{$ID}{$TITLE} +
+ {loop type="auth" name="can_change" role="ADMIN" resource="admin.category" access="UPDATE"} + + {/loop} +
+
+
+
+ {* end category search *} + {* product search *}