From e1ba9645b93894f114cfcfc7903f4ac90200ff44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Mummert?= Date: Mon, 22 Dec 2025 20:51:42 +0100 Subject: [PATCH] Add Index Listener --- .../MeilisearchEventMarkerListener.php | 9 +++++--- .../MeilisearchNewsMarkerListener.php | 22 +++++++++---------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/EventListener/MeilisearchEventMarkerListener.php b/src/EventListener/MeilisearchEventMarkerListener.php index 469393f..ba3e9a5 100644 --- a/src/EventListener/MeilisearchEventMarkerListener.php +++ b/src/EventListener/MeilisearchEventMarkerListener.php @@ -8,12 +8,10 @@ class MeilisearchEventMarkerListener { public function onParseFrontendTemplate(string $buffer, string $template): string { - // Nur Event-Reader if ($template !== 'mod_eventreader') { return $buffer; } - // Contao 5: objEvent! if ( !isset($GLOBALS['objEvent']) || !$GLOBALS['objEvent'] instanceof CalendarEventsModel @@ -21,7 +19,12 @@ class MeilisearchEventMarkerListener return $buffer; } - $event = $GLOBALS['objEvent']; + // 🔥 Event vollständig aus DB laden + $event = CalendarEventsModel::findByPk($GLOBALS['objEvent']->id); + + if ($event === null) { + return $buffer; + } $GLOBALS['MEILISEARCH_MARKERS']['event'] = [ 'priority' => (int) ($event->priority ?? 0), diff --git a/src/EventListener/MeilisearchNewsMarkerListener.php b/src/EventListener/MeilisearchNewsMarkerListener.php index ba3e9a5..f94e9a9 100644 --- a/src/EventListener/MeilisearchNewsMarkerListener.php +++ b/src/EventListener/MeilisearchNewsMarkerListener.php @@ -2,33 +2,33 @@ namespace MummertMedia\ContaoMeilisearchBundle\EventListener; -use Contao\CalendarEventsModel; +use Contao\NewsModel; -class MeilisearchEventMarkerListener +class MeilisearchNewsMarkerListener { public function onParseFrontendTemplate(string $buffer, string $template): string { - if ($template !== 'mod_eventreader') { + if ($template !== 'mod_newsreader') { return $buffer; } if ( - !isset($GLOBALS['objEvent']) || - !$GLOBALS['objEvent'] instanceof CalendarEventsModel + !isset($GLOBALS['objNews']) || + !$GLOBALS['objNews'] instanceof NewsModel ) { return $buffer; } - // 🔥 Event vollständig aus DB laden - $event = CalendarEventsModel::findByPk($GLOBALS['objEvent']->id); + // News vollständig nachladen (Custom-Felder!) + $news = NewsModel::findByPk($GLOBALS['objNews']->id); - if ($event === null) { + if ($news === null) { return $buffer; } - $GLOBALS['MEILISEARCH_MARKERS']['event'] = [ - 'priority' => (int) ($event->priority ?? 0), - 'keywords' => trim((string) ($event->keywords ?? '')), + $GLOBALS['MEILISEARCH_MARKERS']['news'] = [ + 'priority' => (int) ($news->priority ?? 0), + 'keywords' => trim((string) ($news->keywords ?? '')), ]; return $buffer;