diff --git a/src/EventListener/MeilisearchEventMarkerListener.php b/src/EventListener/MeilisearchEventMarkerListener.php index ba3e9a5..0873dc0 100644 --- a/src/EventListener/MeilisearchEventMarkerListener.php +++ b/src/EventListener/MeilisearchEventMarkerListener.php @@ -3,34 +3,34 @@ namespace MummertMedia\ContaoMeilisearchBundle\EventListener; use Contao\CalendarEventsModel; +use Contao\Template; class MeilisearchEventMarkerListener { - public function onParseFrontendTemplate(string $buffer, string $template): string + public function onParseTemplate(Template $template): void { - if ($template !== 'mod_eventreader') { - return $buffer; + // Exakter Template-Name – kein Raten + if ($template->getName() !== 'mod_eventreader') { + return; } if ( !isset($GLOBALS['objEvent']) || !$GLOBALS['objEvent'] instanceof CalendarEventsModel ) { - return $buffer; + return; } - // 🔥 Event vollständig aus DB laden + // 🔥 Event vollständig laden (inkl. Custom-Felder) $event = CalendarEventsModel::findByPk($GLOBALS['objEvent']->id); if ($event === null) { - return $buffer; + return; } $GLOBALS['MEILISEARCH_MARKERS']['event'] = [ 'priority' => (int) ($event->priority ?? 0), 'keywords' => trim((string) ($event->keywords ?? '')), ]; - - return $buffer; } } \ No newline at end of file diff --git a/src/EventListener/MeilisearchNewsMarkerListener.php b/src/EventListener/MeilisearchNewsMarkerListener.php index f94e9a9..1e61399 100644 --- a/src/EventListener/MeilisearchNewsMarkerListener.php +++ b/src/EventListener/MeilisearchNewsMarkerListener.php @@ -3,34 +3,34 @@ namespace MummertMedia\ContaoMeilisearchBundle\EventListener; use Contao\NewsModel; +use Contao\Template; class MeilisearchNewsMarkerListener { - public function onParseFrontendTemplate(string $buffer, string $template): string + public function onParseTemplate(Template $template): void { - if ($template !== 'mod_newsreader') { - return $buffer; + // Nur News-Reader + if ($template->getName() !== 'mod_newsreader') { + return; } if ( - !isset($GLOBALS['objNews']) || - !$GLOBALS['objNews'] instanceof NewsModel + !isset($GLOBALS['objArticle']) || + !$GLOBALS['objArticle'] instanceof NewsModel ) { - return $buffer; + return; } - // News vollständig nachladen (Custom-Felder!) - $news = NewsModel::findByPk($GLOBALS['objNews']->id); + // 🔥 News vollständig laden (inkl. Custom-Felder) + $news = NewsModel::findByPk($GLOBALS['objArticle']->id); if ($news === null) { - return $buffer; + return; } $GLOBALS['MEILISEARCH_MARKERS']['news'] = [ 'priority' => (int) ($news->priority ?? 0), 'keywords' => trim((string) ($news->keywords ?? '')), ]; - - return $buffer; } } \ No newline at end of file diff --git a/src/Resources/contao/config/config.php b/src/Resources/contao/config/config.php index 27b755f..5b01958 100644 --- a/src/Resources/contao/config/config.php +++ b/src/Resources/contao/config/config.php @@ -15,14 +15,14 @@ $GLOBALS['TL_HOOKS']['indexPage'][] = [ 'onIndexPage' ]; -$GLOBALS['TL_HOOKS']['parseFrontendTemplate'][] = [ +$GLOBALS['TL_HOOKS']['parseTemplate'][] = [ MeilisearchNewsMarkerListener::class, - 'onParseFrontendTemplate', + 'onParseTemplate', ]; -$GLOBALS['TL_HOOKS']['parseFrontendTemplate'][] = [ +$GLOBALS['TL_HOOKS']['parseTemplate'][] = [ MeilisearchEventMarkerListener::class, - 'onParseFrontendTemplate', + 'onParseTemplate', ]; $GLOBALS['MEILISEARCH_MARKERS'] = []; \ No newline at end of file