diff --git a/typo3/sysext/core/Documentation/Changelog/13.0/Breaking-102921-RemoveSeveralOutdatedIndexedSearchFeatures.rst b/typo3/sysext/core/Documentation/Changelog/13.0/Breaking-102921-RemoveSeveralOutdatedIndexedSearchFeatures.rst new file mode 100644 index 0000000000000000000000000000000000000000..3701194dbbb682bdcca8faa28f91253883396346 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/13.0/Breaking-102921-RemoveSeveralOutdatedIndexedSearchFeatures.rst @@ -0,0 +1,57 @@ +.. include:: /Includes.rst.txt + +.. _breaking-102921-1706170368: + +=================================================================== +Breaking: #102921 - Remove several outdated indexed search features +=================================================================== + +See :issue:`102921` + +Description +=========== + +The internal search of TYPO3, Indexed Search exists since over 20 years. Some +functionality that is shipped with the search form is not considered up-to-date +anymore, in regards to templating, as Indexed Search has a Extbase- and +Fluid-based plugin since TYPO3 v6.2 (10 years). + +Some functionality was never removed, which is now the case: + +* The ability to customize the styling of a specific page via :typoscript:`plugin.tx_indexedsearch.settings.specialConfiguration` +* The ability to customize a result icon (used as Gif images) based on the type via :typoscript:`plugin.tx_indexedsearch.settings.iconRendering` +* The ability to customize a result language symbol icon (used as Gif images) based on the page language via :typoscript:`plugin.tx_indexedsearch.settings.flagRendering` + +In addition, the possibility for visitors to change only search for results in +a language other than the current language is removed. It proved little sense +to search for e.g. japanese content on a french websites. + + +Impact +====== + +All of the TypoScript settings are not evaluated anymore. The Fluid variables +:html:`{allLanguageUids}`, :html:`{row.language}` and :html:`{row.icon}` are not +filled anymore. + +Search only shows results in the language of the currently active language +of the website. + + +Affected installations +====================== + +TYPO3 installations using these options or features with Indexed Search. + + +Migration +========= + +Adapt your TypoScript settings, and remove the TypoScript settings and Fluid +variables. + +If you still need specific rendering of icons for pages, or customized CSS for +result pages, it is recommended to use Fluid conditions adapted in your custom +template, which is usually not necessary. + +.. index:: Frontend, TypoScript, NotScanned, ext:indexed_search diff --git a/typo3/sysext/core/Tests/Acceptance/Application/Frontend/IndexedSearchCest.php b/typo3/sysext/core/Tests/Acceptance/Application/Frontend/IndexedSearchCest.php index 4f43563b92118eec87ebc1339420fe2ee1ee2b89..ca4cf012fc6558ef1dec62be2caa1353b6f3e386 100644 --- a/typo3/sysext/core/Tests/Acceptance/Application/Frontend/IndexedSearchCest.php +++ b/typo3/sysext/core/Tests/Acceptance/Application/Frontend/IndexedSearchCest.php @@ -76,7 +76,6 @@ final class IndexedSearchCest '#tx-indexedsearch-selectbox-searchtype', '#tx-indexedsearch-selectbox-defaultoperand', '#tx-indexedsearch-selectbox-media', - '#tx-indexedsearch-selectbox-lang', '#tx-indexedsearch-selectbox-sections', '#tx-indexedsearch-selectbox-freeIndexUid', '#tx-indexedsearch-selectbox-order', diff --git a/typo3/sysext/indexed_search/Classes/Controller/SearchController.php b/typo3/sysext/indexed_search/Classes/Controller/SearchController.php index 1e468f993b1b6fe2074b57a995a77107d2bcea39..c7e7cb9a19149d6907c40f45b12cb7b32a29f700 100644 --- a/typo3/sysext/indexed_search/Classes/Controller/SearchController.php +++ b/typo3/sysext/indexed_search/Classes/Controller/SearchController.php @@ -22,7 +22,6 @@ use TYPO3\CMS\Core\Context\Context; use TYPO3\CMS\Core\Domain\Repository\PageRepository; use TYPO3\CMS\Core\Exception\Page\RootLineException; use TYPO3\CMS\Core\Html\HtmlParser; -use TYPO3\CMS\Core\Type\File\ImageInfo; use TYPO3\CMS\Core\TypoScript\TypoScriptService; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Core\Utility\MathUtility; @@ -91,7 +90,6 @@ class SearchController extends ActionController protected array $resultSections = []; protected array $pathCache = []; - protected array $iconFileNameCache = []; protected TypoScriptService $typoScriptService; public function injectTypoScriptService(TypoScriptService $typoScriptService) @@ -122,10 +120,8 @@ class SearchController extends ActionController if (is_array($this->settings['defaultOptions'])) { $searchData = array_merge($this->settings['defaultOptions'], $searchData); } - // if "languageUid" was set to "current", take the current site language - if (($searchData['languageUid'] ?? '') === 'current') { - $searchData['languageUid'] = GeneralUtility::makeInstance(Context::class)->getPropertyFromAspect('language', 'id', 0); - } + // Hand in the current site language as languageUid + $searchData['languageUid'] = GeneralUtility::makeInstance(Context::class)->getPropertyFromAspect('language', 'id', 0); $this->initializeExternalParsers(); // If "_sections" is set, this value overrides any existing value. @@ -378,10 +374,8 @@ class SearchController extends ActionController */ protected function compileSingleResultRow(array $row, int $headerOnly = 0): array { - $specRowConf = $this->getSpecialConfigurationForResultRow($row); $resultData = $row; $resultData['headerOnly'] = $headerOnly; - $resultData['CSSsuffix'] = ($specRowConf['CSSsuffix'] ?? false) ? '-' . $specRowConf['CSSsuffix'] : ''; if (isset($row['static_page_arguments']) && $this->multiplePagesType($row['item_type'])) { try { $dat = json_decode($row['static_page_arguments'], true, 512, JSON_THROW_ON_ERROR); @@ -417,14 +411,12 @@ class SearchController extends ActionController $title = LinkResult::adapt($this->linkPage((int)$row['data_page_id'], $row, $title))->getHtml(); } $resultData['title'] = $title; - $resultData['icon'] = $this->makeItemTypeIcon($row['item_type'], '', $specRowConf); $resultData['rating'] = $this->makeRating($row); $resultData['description'] = $this->makeDescription( $row, !($this->searchData['extResume'] && !$headerOnly), $this->settings['results.']['summaryCropAfter'] ); - $resultData['language'] = $this->makeLanguageIndication($row); $resultData['size'] = GeneralUtility::formatSize($row['item_size']); $resultData['created'] = $row['item_crdate']; $resultData['modified'] = $row['item_mtime']; @@ -473,30 +465,6 @@ class SearchController extends ActionController return $resultData; } - /** - * Returns configuration from TypoScript for result row based - * on ID / location in page tree! - */ - protected function getSpecialConfigurationForResultRow(array $row): array - { - $pathId = $row['data_page_id'] ?: $row['page_id']; - $pathMP = $row['data_page_id'] ? $row['data_page_mp'] : ''; - $specConf = $this->settings['specialConfiguration']['0'] ?? []; - try { - $rl = GeneralUtility::makeInstance(RootlineUtility::class, $pathId, $pathMP)->get(); - foreach ($rl as $dat) { - if (is_array($this->settings['specialConfiguration'][$dat['uid']] ?? false)) { - $specConf = $this->settings['specialConfiguration'][$dat['uid']]; - $specConf['_pid'] = $dat['uid']; - break; - } - } - } catch (RootLineException $e) { - // do nothing - } - return $specConf; - } - /** * Return the rating-HTML code for the result row. This makes use of the $this->firstRow * @@ -533,77 +501,6 @@ class SearchController extends ActionController } } - /** - * Returns the HTML code for language indication. - */ - protected function makeLanguageIndication(array $row): string - { - $output = ' '; - // If search result is a TYPO3 page: - if ((string)$row['item_type'] === '0') { - // If TypoScript is used to render the flag: - if (is_array($this->settings['flagRendering'] ?? false)) { - $cObj = GeneralUtility::makeInstance(ContentObjectRenderer::class); - $cObj->setCurrentVal($row['sys_language_uid']); - $typoScriptArray = $this->typoScriptService->convertPlainArrayToTypoScriptArray($this->settings['flagRendering']); - $output = $cObj->cObjGetSingle($this->settings['flagRendering']['_typoScriptNodeValue'], $typoScriptArray); - } - } - return $output; - } - - /** - * Return icon for file extension - */ - public function makeItemTypeIcon(string $imageType, string $alt, array $specRowConf): string - { - // Build compound key if item type is 0, iconRendering is not used - // and specialConfiguration.[pid].pageIcon was set in TS - if ( - $imageType === '0' && ($specRowConf['_pid'] ?? false) - && is_array($specRowConf['pageIcon'] ?? false) - && !is_array($this->settings['iconRendering'] ?? false) - ) { - $imageType .= ':' . $specRowConf['_pid']; - } - if (!isset($this->iconFileNameCache[$imageType])) { - $this->iconFileNameCache[$imageType] = ''; - // If TypoScript is used to render the icon: - if (is_array($this->settings['iconRendering'] ?? false)) { - $cObj = GeneralUtility::makeInstance(ContentObjectRenderer::class); - $cObj->setCurrentVal($imageType); - $typoScriptArray = $this->typoScriptService->convertPlainArrayToTypoScriptArray($this->settings['iconRendering']); - $this->iconFileNameCache[$imageType] = $cObj->cObjGetSingle($this->settings['iconRendering']['_typoScriptNodeValue'], $typoScriptArray); - } else { - // Default creation / finding of icon: - $icon = ''; - if ($imageType === '0' || str_starts_with($imageType, '0:')) { - if (is_array($specRowConf['pageIcon'] ?? false)) { - $this->iconFileNameCache[$imageType] = $this->getTypoScriptFrontendController()->cObj->cObjGetSingle('IMAGE', $specRowConf['pageIcon']); - } else { - $icon = 'EXT:indexed_search/Resources/Public/Icons/FileTypes/pages.gif'; - } - } elseif ($this->externalParsers[$imageType]) { - $icon = $this->externalParsers[$imageType]->getIcon($imageType); - } - if ($icon) { - $fullPath = GeneralUtility::getFileAbsFileName($icon); - if ($fullPath) { - $imageInfo = GeneralUtility::makeInstance(ImageInfo::class, $fullPath); - $iconPath = PathUtility::getAbsoluteWebPath($fullPath); - $this->iconFileNameCache[$imageType] = $imageInfo->getWidth() > 0 - ? '<img src="' . $iconPath - . '" width="' . $imageInfo->getWidth() - . '" height="' . $imageInfo->getHeight() - . '" title="' . htmlspecialchars($alt) . '" alt="" />' - : ''; - } - } - } - } - return $this->iconFileNameCache[$imageType]; - } - /** * Returns the resume for the search-result. * @@ -904,30 +801,6 @@ class SearchController extends ActionController return $this->removeOptionsFromOptionList($allOptions, $blindSettings['mediaType']); } - /** - * get the values for the "language" selector - * - * @return array Associative array with options - */ - protected function getAllAvailableLanguageOptions(): array - { - $allOptions = [ - '-1' => LocalizationUtility::translate('languageUids.-1', 'IndexedSearch'), - ]; - $blindSettings = $this->settings['blind']; - if (!$blindSettings['languageUid']) { - $languages = $this->request->getAttribute('site')->getLanguages(); - foreach ($languages as $language) { - $allOptions[$language->getLanguageId()] = $language->getNavigationTitle(); - } - // disable single entries by TypoScript - $allOptions = $this->removeOptionsFromOptionList($allOptions, (array)$blindSettings['languageUid']); - } else { - $allOptions = []; - } - return $allOptions; - } - /** * get the values for the "section" selector * Here values like "rl1_" and "rl2_" + a root level 1/2 id can be added @@ -1263,7 +1136,6 @@ class SearchController extends ActionController $allSearchTypes = $this->getAllAvailableSearchTypeOptions(); $allDefaultOperands = $this->getAllAvailableOperandsOptions(); $allMediaTypes = $this->getAllAvailableMediaTypesOptions(); - $allLanguageUids = $this->getAllAvailableLanguageOptions(); $allSortOrders = $this->getAllAvailableSortOrderOptions(); $allSortDescendings = $this->getAllAvailableSortDescendingOptions(); return [ @@ -1271,8 +1143,6 @@ class SearchController extends ActionController 'allDefaultOperands' => $allDefaultOperands, 'showTypeSearch' => !empty($allSearchTypes) || !empty($allDefaultOperands), 'allMediaTypes' => $allMediaTypes, - 'allLanguageUids' => $allLanguageUids, - 'showMediaAndLanguageSearch' => !empty($allMediaTypes) || !empty($allLanguageUids), 'allSections' => $this->getAllAvailableSectionsOptions(), 'allIndexConfigurations' => $this->getAllAvailableIndexConfigurationsOptions(), 'allSortOrders' => $allSortOrders, diff --git a/typo3/sysext/indexed_search/Configuration/TypoScript/setup.typoscript b/typo3/sysext/indexed_search/Configuration/TypoScript/setup.typoscript index 727f4fdae7b65c5e1bf66cf8798cc159b7720cf1..dc72fc6f1619e054333dea3e0c27d7520458bb52 100644 --- a/typo3/sysext/indexed_search/Configuration/TypoScript/setup.typoscript +++ b/typo3/sysext/indexed_search/Configuration/TypoScript/setup.typoscript @@ -16,8 +16,6 @@ plugin.tx_indexedsearch { breadcrumbWrap = / || / - # show the parse times - displayParsetimes = 0 displayLevel1Sections = 1 displayLevel2Sections = 0 displayLevelxAllTypes = 0 @@ -55,54 +53,25 @@ plugin.tx_indexedsearch { mediaType = 0 sortOrder = 0 group = 0 - languageUid = 0 desc = 0 # List of available number of results. First will be used as default. numberOfResults = 10,25,50,100 # defaultOperand.1 = 1 # extResume=1 } -/* - flagRendering = CASE - flagRendering { - key.current = 1 - 2 = TEXT - 2.value = German - default = TEXT - default.value = English - } - - iconRendering = CASE - iconRendering { - key.current = 1 - html = TEXT - html.value = HtmL - default = TEXT - default.value = TYPO3 pages - } - specialConfiguration { - 0.pageIcon = IMAGE - 0.pageIcon.file = typo3/sysext/indexed_search/Resources/Public/Icons/FileTypes/pages.gif - 1.pageIcon = IMAGE - 1.pageIcon.file = typo3/sysext/indexed_search/Resources/Public/Icons/FileTypes/pdf.gif - } -*/ defaultOptions { defaultOperand = 0 sections = 0 freeIndexUid = -1 mediaType = -1 sortOrder = rank_flag - languageUid = current sortDesc = 1 searchType = 1 extResume = 1 } - } - view { templateRootPaths { 0 = EXT:indexed_search/Resources/Private/Templates/ diff --git a/typo3/sysext/indexed_search/Documentation/Configuration/TypoScript/Index.rst b/typo3/sysext/indexed_search/Documentation/Configuration/TypoScript/Index.rst index 98e97179351cbec400a2e0f06dd60fbf2c7e5a85..aa01868f6ccfb88b1d2a8c6da483a1d58efe212a 100644 --- a/typo3/sysext/indexed_search/Documentation/Configuration/TypoScript/Index.rst +++ b/typo3/sysext/indexed_search/Documentation/Configuration/TypoScript/Index.rst @@ -668,239 +668,5 @@ Blind: Extended resume :Default: 1 :Path: plugin.tx_indexedsearch.settings -.. _flagRendering-languageUid: - -Flag rendering --------------- - -.. confval:: flagRendering.[languageUid] - - :Type: Array - :Default: empty - :Path: plugin.tx_indexedsearch.settings - - :typoscript:`FlagRendering` is rendered as a TypoScript object and is - used to output a flag icon according to the used language of a result - item. The ID of the used language (sys_language_uid) is passed as value - for "current". This makes it possible to use a :ref:`CASE <t3tsref:cobj-case>` - TypoScript object to create a separate rendering for each language. - - **Examples:** - - .. code-block:: typoscript - - plugin.tx_indexedsearch.settings { - flagRendering = CASE - flagRendering { - key.current = 1 - - 2 = TEXT - 2.value = German - - default = TEXT - default.value = English - } - } - -.. _iconRendering-imageType: - -Icon rendering --------------- - -.. confval:: iconRendering.[imageType] - - :Type: Array - :Default: empty - :Path: plugin.tx_indexedsearch.settings - - :typoscript:`iconRendering` is rendered as a TypoScript object and is - used to output an icon according to the file extension of the file type of - the result item, wich is passed as a value for "current". This makes it - possible to use a :ref:`CASE <t3tsref:cobj-case>` TypoScript object to - create a separate rendering for each file type. - - **Examples:** - - .. code-block:: typoscript - - plugin.tx_indexedsearch.settings { - iconRendering = CASE - iconRendering { - key.current = 1 - - default = IMAGE - default.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/pages.gif - - csv = IMAGE - csv.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/csv.gif - - doc = IMAGE - doc.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/doc.gif - - docx = IMAGE - docx.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/docx.gif - - dotx = IMAGE - dotx.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/dotx.gif - - html = IMAGE - html.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/html.gif - htm < .html - - jpg = IMAGE - jpg.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/jpg.gif - jpeg < .jpg - - pdf = IMAGE - pdf.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/pdf.gif - - potx = IMAGE - potx.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/potx.gif - - pps = IMAGE - pps.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/pps.gif - - ppsx = IMAGE - ppsx.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/ppsx.gif - - ppt = IMAGE - ppt.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/ppt.gif - - pptx = IMAGE - pptx.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/pptx.gif - - rtf = IMAGE - rtf.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/rtf.gif - - sxc = IMAGE - sxc.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/sxc.gif - - sxi = IMAGE - sxi.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/sxi.gif - - sxw = IMAGE - sxw.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/sxw.gif - - tif = IMAGE - tif.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/tif.gif - - txt = IMAGE - txt.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/txt.gif - - xls = IMAGE - xls.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/xls.gif - - xlsx = IMAGE - xlsx.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/xlsx.gif - - xltx = IMAGE - xltx.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/xltx.gif - - xml = IMAGE - xml.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/xml.gif - - # The following file types are recognized by the file content parser, - # but currently there is no image file. - - ods = TEXT - ods.value = ods - - odp = TEXT - odp.value = odp - - odt = TEXT - odt.value = odt - } - } - -.. _specialConfiguration-pid: - -Special configuration ---------------------- - -.. confval:: specialConfiguration.[pid] - - :Type: Array - :Default: empty - :Path: plugin.tx_indexedsearch.settings - - :typoscript:`specialConfiguration` is an array of objects with - properties that can customize certain behaviours of the display of a - result row depending on its position in the rootline. For instance, you - can define that all results which links to pages in a branch from page - ID 123 should have another page icon displayed. Or you can add a suffix - to the class names so you can style that section differently. - - **Examples:** - - If a page "Contact" is found in a search for "address" and that - "Contact" page is in the rootline - - `Frontpage [ID=23] > About us [ID=45] > Contact [ID=77]` - - then you should set the pid value to either "77" or "45". If "45" then - all subpages including the "About us" page will have similar - configuration. - - If the pid value is set to 0 (zero), it will apply to all pages. - - Please see the options below. - -.. _specialConfiguration-pid-pageicon: - -Special configuration page icon -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. confval:: specialConfiguration.[pid].pageIcon - - :Type: :ref:`IMAGE cObject <t3tsref:cobj-image>` - :Default: empty - :Path: plugin.tx_indexedsearch.settings - - Alternative page icon. - - **Example:** - - .. code-block:: typoscript - - plugin.tx_indexedsearch.settings { - specialConfiguration { - 0.pageIcon = IMAGE - 0.pageIcon.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/pages.gif - - 1.pageIcon = IMAGE - 1.pageIcon.file = EXT:indexed_search/Resources/Public/Icons/FileTypes/pdf.gif - } - } - -.. _specialConfiguration-pid-csssuffix: - -Special configuration CSS suffix -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. confval:: specialConfiguration.[pid].CSSsuffix - - :Type: string - :Default: empty - :Path: plugin.tx_indexedsearch.settings - - A string that will be appended to the class names of all the class - attributes used within the presentation of the result row. The prefix will - be like this: - - **Example:** - - .. code-block:: typoscript - - plugin.tx_indexedsearch.settings { - specialConfiguration { - 1.CSSsuffix = doc - } - } - - if e.g. the value of :typoscript:`CSSsuffix` is "doc" then the class - name :typoscript:`tx-indexedsearch-title` will be - :typoscript:`tx-indexedsearch-title-doc`. - [tsref:plugin.tx\_indexedsearch] diff --git a/typo3/sysext/indexed_search/Resources/Private/Language/locallang.xlf b/typo3/sysext/indexed_search/Resources/Private/Language/locallang.xlf index d773abac45a7cd5d8c721007976b10c429973b5b..baf01fa403c2ca21e0d57af2c10d6962a333a31b 100644 --- a/typo3/sysext/indexed_search/Resources/Private/Language/locallang.xlf +++ b/typo3/sysext/indexed_search/Resources/Private/Language/locallang.xlf @@ -80,14 +80,6 @@ <trans-unit id="defaultOperands.1" resname="defaultOperands.1"> <source>Any words (OR)</source> </trans-unit> - - <trans-unit id="languageUids.-1" resname="languageUids.-1"> - <source>All languages</source> - </trans-unit> - <trans-unit id="languageUids.0" resname="languageUids.0"> - <source>Default</source> - </trans-unit> - <trans-unit id="sections.0" resname="sections.0"> <source>Whole site</source> </trans-unit> diff --git a/typo3/sysext/indexed_search/Resources/Private/Partials/Form.html b/typo3/sysext/indexed_search/Resources/Private/Partials/Form.html index a250a91e0971e528e9fc3751212f01fe44c2f038..3f56b42180b8a0c90c5ce7c4c2cfd1377d0a0bcc 100644 --- a/typo3/sysext/indexed_search/Resources/Private/Partials/Form.html +++ b/typo3/sysext/indexed_search/Resources/Private/Partials/Form.html @@ -11,7 +11,6 @@ <f:form.hidden name="search[mediaType]" value="{searchParams.mediaType}" /> <f:form.hidden name="search[sortOrder]" value="{searchParams.sortOrder}" /> <f:form.hidden name="search[group]" value="{searchParams.group}" /> - <f:form.hidden name="search[languageUid]" value="{searchParams.languageUid}" /> <f:form.hidden name="search[desc]" value="{searchParams.desc}" /> <f:form.hidden name="search[numberOfResults]" value="{searchParams.numberOfResults}" /> <f:form.hidden name="search[extendedSearch]" value="{searchParams.extendedSearch}" /> @@ -34,15 +33,10 @@ </f:if> </div> </f:if> - <f:if condition="{showMediaAndLanguageSearch}"> + <f:if condition="{allMediaTypes}"> <div class="tx-indexedsearch-search-in"> <label for="tx-indexedsearch-selectbox-media"><f:translate key="form.searchIn" />:</label> - <f:if condition="{allMediaTypes}"> - <f:form.select name="search[mediaType]" options="{allMediaTypes}" value="{searchParams.mediaType}" id="tx-indexedsearch-selectbox-media" class="tx-indexedsearch-selectbox-media media" /> - </f:if> - <f:if condition="{allLanguageUids}"> - <f:form.select name="search[languageUid]" options="{allLanguageUids}" value="{searchParams.languageUid}" id="tx-indexedsearch-selectbox-lang" class="tx-indexedsearch-selectbox-lang lang" /> - </f:if> + <f:form.select name="search[mediaType]" options="{allMediaTypes}" value="{searchParams.mediaType}" id="tx-indexedsearch-selectbox-media" class="tx-indexedsearch-selectbox-media media" /> </div> </f:if> <f:if condition="{allSections}"> diff --git a/typo3/sysext/indexed_search/Resources/Private/Partials/Searchresult.html b/typo3/sysext/indexed_search/Resources/Private/Partials/Searchresult.html index c6db4603b80902e3048ef32f7a8f1bd9ce3ff103..64254dac2040693d3b1d373af1b227ddded08a8b 100644 --- a/typo3/sysext/indexed_search/Resources/Private/Partials/Searchresult.html +++ b/typo3/sysext/indexed_search/Resources/Private/Partials/Searchresult.html @@ -1,9 +1,8 @@ <html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true"> <div class="tx-indexedsearch-res"> <h3> - <span class="tx-indexedsearch-icon">{row.icon -> f:format.raw()}</span> <f:if condition="{settings.displayResultNumber}"><span class="tx-indexedsearch-result-number">{row.result_number}</span></f:if> - <span class="tx-indexedsearch-title{row.CSSsuffix}">{row.title -> f:format.raw()}</span> + <span class="tx-indexedsearch-title">{row.title -> f:format.raw()}</span> <span class="tx-indexedsearch-percent">{row.rating}</span> </h3> <f:if condition="{row.headerOnly} == 0">