diff --git a/Classes/Backend/SettingsPreviewOnPlugins.php b/Classes/Backend/SettingsPreviewOnPlugins.php
index bc795f2eaf..472db4f58f 100644
--- a/Classes/Backend/SettingsPreviewOnPlugins.php
+++ b/Classes/Backend/SettingsPreviewOnPlugins.php
@@ -45,7 +45,7 @@ public function __invoke(PageContentPreviewRenderingEvent $event): void
$this->pluginsTtContentRecord = $event->getRecord();
if (
$event->getTable() !== 'tt_content'
- || !str_starts_with($this->pluginsTtContentRecord['list_type'], 'solr_pi_')
+ || !str_starts_with($this->pluginsTtContentRecord['CType'], 'solr_pi_')
) {
return;
}
@@ -152,14 +152,17 @@ protected function getPluginLabel(): string
$label = BackendUtility::getLabelFromItemListMerged(
$this->pluginsTtContentRecord['pid'],
'tt_content',
- 'list_type',
- $this->pluginsTtContentRecord['list_type'],
+ 'CType',
+ $this->pluginsTtContentRecord['CType'],
$this->pluginsTtContentRecord
);
if (!empty($label)) {
$label = $this->getLanguageService()->sL($label);
} else {
- $label = sprintf($this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.noMatchingValue'), $this->pluginsTtContentRecord['list_type']);
+ $label = sprintf(
+ $this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.noMatchingValue'),
+ $this->pluginsTtContentRecord['CType']
+ );
}
return $label;
diff --git a/Classes/Updates/SolrSearchCTypeMigration.php b/Classes/Updates/SolrSearchCTypeMigration.php
new file mode 100644
index 0000000000..7412edba8f
--- /dev/null
+++ b/Classes/Updates/SolrSearchCTypeMigration.php
@@ -0,0 +1,48 @@
+ 'solr_pi_results',
+ 'solr_pi_search' => 'solr_pi_search',
+ 'solr_pi_results_search' => 'solr_pi_results_search',
+ ];
+ }
+
+ public function getTitle(): string
+ {
+ return 'Migrate "Apache Solr Search" plugins to content elements.';
+ }
+
+ public function getDescription(): string
+ {
+ return 'The "Apache Solr Search" plugins are now registered as content element. Update migrates existing records and backend user permissions.';
+ }
+}
diff --git a/Configuration/TCA/Overrides/tt_content.php b/Configuration/TCA/Overrides/tt_content.php
index 51a9b84685..b99a85a015 100644
--- a/Configuration/TCA/Overrides/tt_content.php
+++ b/Configuration/TCA/Overrides/tt_content.php
@@ -5,44 +5,43 @@
defined('TYPO3') or die('Access denied.');
+// Add tt_content search group
+$GLOBALS['TCA']['tt_content']['columns']['CType']['config']['itemGroups']['search'] = 'LLL:EXT:solr/Resources/Private/Language/locallang.xlf:plugin_results';
+
// Register the plugins
-$pluginSignature = 'solr_pi_search';
-ExtensionUtility::registerPlugin(
+$pluginSearchSignature = ExtensionUtility::registerPlugin(
'solr',
'pi_search',
- 'LLL:EXT:solr/Resources/Private/Language/locallang.xlf:tt_content.list_type_pi_search'
+ 'LLL:EXT:solr/Resources/Private/Language/locallang.xlf:tt_content.CType_pi_search',
+ 'extensions-solr-plugin-contentelement',
+ 'search'
);
-$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginSignature]
- = 'layout,select_key,pages,recursive';
-$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature]
- = 'pi_flexform';
+$GLOBALS['TCA']['tt_content']['types'][$pluginSearchSignature]['showitem'] = 'pi_flexform';
ExtensionManagementUtility::addPiFlexFormValue(
- $pluginSignature,
- 'FILE:EXT:solr/Configuration/FlexForms/Form.xml'
+ '*',
+ 'FILE:EXT:solr/Configuration/FlexForms/Form.xml',
+ $pluginSearchSignature
);
-$pluginSignature = 'solr_pi_frequentlysearched';
-ExtensionUtility::registerPlugin(
+$pluginFrequentlySearchedSignature = ExtensionUtility::registerPlugin(
'solr',
'pi_frequentlySearched',
- 'LLL:EXT:solr/Resources/Private/Language/locallang.xlf:tt_content.list_type_pi_frequentsearches'
+ 'LLL:EXT:solr/Resources/Private/Language/locallang.xlf:tt_content.CType_pi_frequentsearches',
+ 'extensions-solr-plugin-contentelement',
+ 'search'
);
-$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginSignature]
- = 'layout,select_key,pages,recursive';
+$GLOBALS['TCA']['tt_content']['types'][$pluginFrequentlySearchedSignature]['showitem'] = 'pi_flexform';
-$pluginSignature = 'solr_pi_results';
-ExtensionUtility::registerPlugin(
+$pluginResultsSignature = ExtensionUtility::registerPlugin(
'solr',
'pi_results',
- 'LLL:EXT:solr/Resources/Private/Language/locallang.xlf:tt_content.list_type_pi_results'
+ 'LLL:EXT:solr/Resources/Private/Language/locallang.xlf:tt_content.CType_pi_results',
+ 'extensions-solr-plugin-contentelement',
+ 'search'
);
-
-$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginSignature]
- = 'layout,select_key,pages,recursive';
-$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature]
- = 'pi_flexform';
-
+$GLOBALS['TCA']['tt_content']['types'][$pluginResultsSignature]['showitem'] = 'pi_flexform';
ExtensionManagementUtility::addPiFlexFormValue(
- $pluginSignature,
- 'FILE:EXT:solr/Configuration/FlexForms/Results.xml'
+ '*',
+ 'FILE:EXT:solr/Configuration/FlexForms/Results.xml',
+ $pluginResultsSignature
);
diff --git a/Configuration/page.tsconfig b/Configuration/page.tsconfig
index f78e0c62fe..96b1a3e315 100644
--- a/Configuration/page.tsconfig
+++ b/Configuration/page.tsconfig
@@ -1,13 +1,4 @@
-mod.wizards.newContentElement.wizardItems.plugins {
- elements {
- tx_solr_results {
- iconIdentifier = extensions-solr-plugin-contentelement
- title = LLL:EXT:solr/Resources/Private/Language/locallang.xlf:plugin_results
- description = LLL:EXT:solr/Resources/Private/Language/locallang.xlf:plugin_results_description
- tt_content_defValues {
- CType = list
- list_type = solr_pi_results
- }
- }
- }
+mod.wizards.newContentElement.wizardItems {
+ # CATEGORIES
+ search.header = LLL:EXT:solr/Resources/Private/Language/locallang.xlf:plugin_results
}
diff --git a/Documentation/Images/Backend/plugin_instances.png b/Documentation/Images/Backend/plugin_instances.png
index 8184bc52c8..630058d3c1 100644
Binary files a/Documentation/Images/Backend/plugin_instances.png and b/Documentation/Images/Backend/plugin_instances.png differ
diff --git a/Documentation/Images/GettingStarted/install-script.png b/Documentation/Images/GettingStarted/install-script.png
deleted file mode 100644
index 6a9e1ad58d..0000000000
Binary files a/Documentation/Images/GettingStarted/install-script.png and /dev/null differ
diff --git a/Resources/Private/Language/de.locallang.xlf b/Resources/Private/Language/de.locallang.xlf
index d83399c38d..77b54fb3c8 100644
--- a/Resources/Private/Language/de.locallang.xlf
+++ b/Resources/Private/Language/de.locallang.xlf
@@ -132,13 +132,13 @@
Letzte
-
+
Suche: Häufige Suchen
-
+
Suche: Formular, Ergebnisse, weitere Komponenten
-
+
Suche: Nur Suchformular