diff --git a/core/lib/Thelia/Core/Template/Loop/Folder.php b/core/lib/Thelia/Core/Template/Loop/Folder.php index 7b6906e32..618c411e3 100644 --- a/core/lib/Thelia/Core/Template/Loop/Folder.php +++ b/core/lib/Thelia/Core/Template/Loop/Folder.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; @@ -33,7 +34,7 @@ use Thelia\Type\BooleanOrBothType; * @package Thelia\Core\Template\Loop * @author Etienne Roudeix */ -class Folder extends BaseI18nLoop implements PropelSearchLoopInterface +class Folder extends BaseI18nLoop implements PropelSearchLoopInterface, SearchLoopInterface { protected $timestampable = true; protected $versionable = true; @@ -62,6 +63,23 @@ class Folder 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 = FolderQuery::create(); diff --git a/templates/backOffice/default/search.html b/templates/backOffice/default/search.html index 079ae1b69..626a0a771 100644 --- a/templates/backOffice/default/search.html +++ b/templates/backOffice/default/search.html @@ -260,6 +260,49 @@ {* end product search *} + {* folder search *} +
+
+ + + + + + + + + + + + + + {loop type="folder" name="folder-search" visible="*" search_mode="sentence" search_term=trim($smarty.get.search_term) search_in="title"} + + + + + + + + + + + + {/loop} + +
+ {intl l='Folder'} +
{intl l="ID"}{intl l="Folder title"}{intl l="Actions"}
{$ID}{$TITLE} +
+ {loop type="auth" name="can_change" role="ADMIN" resource="admin.folder" access="UPDATE"} + + {/loop} +
+
+
+
+ {* end folder search *} +