From cd9b918aff85543f886876bc244ce87391448b93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Mummert?= Date: Fri, 9 Jan 2026 11:53:51 +0100 Subject: [PATCH] Add conditional Tika URL setting --- src/Resources/contao/dca/tl_settings.php | 53 +++++++++++++------ .../contao/languages/de/tl_settings.php | 6 ++- 2 files changed, 42 insertions(+), 17 deletions(-) diff --git a/src/Resources/contao/dca/tl_settings.php b/src/Resources/contao/dca/tl_settings.php index 3b053a4..8f779b0 100644 --- a/src/Resources/contao/dca/tl_settings.php +++ b/src/Resources/contao/dca/tl_settings.php @@ -2,6 +2,7 @@ use Contao\CoreBundle\DataContainer\PaletteManipulator; use Contao\System; +use Contao\Config; /** * ------------------------------------------------- @@ -58,9 +59,9 @@ $GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_imagesize'] = [ return $options; }, 'eval' => [ - 'tl_class' => 'w50', - 'chosen' => true, - 'includeBlankOption' => true, + 'tl_class' => 'w50', + 'chosen' => true, + 'includeBlankOption' => true, ], 'sql' => "int(10) unsigned NOT NULL default 0", ]; @@ -83,7 +84,9 @@ $GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_index_past_events'] = [ ]; /** + * ------------------------------------------------- * PDF / Office Indexierung + * ------------------------------------------------- */ $GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_index_pdfs'] = [ @@ -107,7 +110,29 @@ $GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_index_office'] = [ ]; /** - * Tika URL (nur sichtbar wenn PDFs oder Office aktiv) + * ------------------------------------------------- + * Virtueller Sammel-Selector (intern) + * ------------------------------------------------- + */ + +$GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_index_documents'] = [ + 'inputType' => 'checkbox', + 'eval' => [ + 'doNotShow' => true, + ], + 'load_callback' => [ + static function () { + return (Config::get('meilisearch_index_pdfs') || Config::get('meilisearch_index_office')) + ? '1' + : ''; + }, + ], +]; + +/** + * ------------------------------------------------- + * Tika URL (GENAU EINMAL!) + * ------------------------------------------------- */ $GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_tika_url'] = [ @@ -121,17 +146,13 @@ $GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_tika_url'] = [ /** * ------------------------------------------------- - * Selector / Subpalettes + * Selector / Subpalette * ------------------------------------------------- */ -$GLOBALS['TL_DCA']['tl_settings']['palettes']['__selector__'][] = 'meilisearch_index_pdfs'; -$GLOBALS['TL_DCA']['tl_settings']['palettes']['__selector__'][] = 'meilisearch_index_office'; +$GLOBALS['TL_DCA']['tl_settings']['palettes']['__selector__'][] = 'meilisearch_index_documents'; -$GLOBALS['TL_DCA']['tl_settings']['subpalettes']['meilisearch_index_pdfs'] - = 'meilisearch_tika_url'; - -$GLOBALS['TL_DCA']['tl_settings']['subpalettes']['meilisearch_index_office'] +$GLOBALS['TL_DCA']['tl_settings']['subpalettes']['meilisearch_index_documents'] = 'meilisearch_tika_url'; /** @@ -155,16 +176,16 @@ PaletteManipulator::create() /** * ------------------------------------------------- - * Optional: Absicherung beim Speichern + * Absicherung beim Speichern * ------------------------------------------------- */ $GLOBALS['TL_DCA']['tl_settings']['config']['onsubmit_callback'][] = static function () { - $indexPdf = (bool) \Contao\Config::get('meilisearch_index_pdfs'); - $indexOffice = (bool) \Contao\Config::get('meilisearch_index_office'); - $tikaUrl = \Contao\Config::get('meilisearch_tika_url'); + $pdf = (bool) Config::get('meilisearch_index_pdfs'); + $office = (bool) Config::get('meilisearch_index_office'); + $tika = Config::get('meilisearch_tika_url'); - if (($indexPdf || $indexOffice) && !$tikaUrl) { + if (($pdf || $office) && !$tika) { throw new \RuntimeException( 'Die Tika-URL ist erforderlich, wenn PDF- oder Office-Indexierung aktiviert ist.' ); diff --git a/src/Resources/contao/languages/de/tl_settings.php b/src/Resources/contao/languages/de/tl_settings.php index 883f8cb..bc6d5fd 100644 --- a/src/Resources/contao/languages/de/tl_settings.php +++ b/src/Resources/contao/languages/de/tl_settings.php @@ -34,4 +34,8 @@ $GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_pdfs'] = [ ]; $GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_office'] - = ['Office-Dateien indexieren', 'DOCX, XLSX und PPTX in die Suche aufnehmen.']; \ No newline at end of file + = ['Office-Dateien indexieren', 'DOCX, XLSX und PPTX in die Suche aufnehmen.']; + + +$GLOBALS['TL_LANG']['tl_settings']['meilisearch_tika_url'] + = ['Apache Tika URL', 'URL der Apache Tika Instanz (z. B. https://tika.domain.tld).']; \ No newline at end of file