Add Index Listener
This commit is contained in:
@@ -3,34 +3,34 @@
|
|||||||
namespace MummertMedia\ContaoMeilisearchBundle\EventListener;
|
namespace MummertMedia\ContaoMeilisearchBundle\EventListener;
|
||||||
|
|
||||||
use Contao\CalendarEventsModel;
|
use Contao\CalendarEventsModel;
|
||||||
|
use Contao\Template;
|
||||||
|
|
||||||
class MeilisearchEventMarkerListener
|
class MeilisearchEventMarkerListener
|
||||||
{
|
{
|
||||||
public function onParseFrontendTemplate(string $buffer, string $template): string
|
public function onParseTemplate(Template $template): void
|
||||||
{
|
{
|
||||||
if ($template !== 'mod_eventreader') {
|
// Exakter Template-Name – kein Raten
|
||||||
return $buffer;
|
if ($template->getName() !== 'mod_eventreader') {
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
!isset($GLOBALS['objEvent']) ||
|
!isset($GLOBALS['objEvent']) ||
|
||||||
!$GLOBALS['objEvent'] instanceof CalendarEventsModel
|
!$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);
|
$event = CalendarEventsModel::findByPk($GLOBALS['objEvent']->id);
|
||||||
|
|
||||||
if ($event === null) {
|
if ($event === null) {
|
||||||
return $buffer;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$GLOBALS['MEILISEARCH_MARKERS']['event'] = [
|
$GLOBALS['MEILISEARCH_MARKERS']['event'] = [
|
||||||
'priority' => (int) ($event->priority ?? 0),
|
'priority' => (int) ($event->priority ?? 0),
|
||||||
'keywords' => trim((string) ($event->keywords ?? '')),
|
'keywords' => trim((string) ($event->keywords ?? '')),
|
||||||
];
|
];
|
||||||
|
|
||||||
return $buffer;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,34 +3,34 @@
|
|||||||
namespace MummertMedia\ContaoMeilisearchBundle\EventListener;
|
namespace MummertMedia\ContaoMeilisearchBundle\EventListener;
|
||||||
|
|
||||||
use Contao\NewsModel;
|
use Contao\NewsModel;
|
||||||
|
use Contao\Template;
|
||||||
|
|
||||||
class MeilisearchNewsMarkerListener
|
class MeilisearchNewsMarkerListener
|
||||||
{
|
{
|
||||||
public function onParseFrontendTemplate(string $buffer, string $template): string
|
public function onParseTemplate(Template $template): void
|
||||||
{
|
{
|
||||||
if ($template !== 'mod_newsreader') {
|
// Nur News-Reader
|
||||||
return $buffer;
|
if ($template->getName() !== 'mod_newsreader') {
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
!isset($GLOBALS['objNews']) ||
|
!isset($GLOBALS['objArticle']) ||
|
||||||
!$GLOBALS['objNews'] instanceof NewsModel
|
!$GLOBALS['objArticle'] instanceof NewsModel
|
||||||
) {
|
) {
|
||||||
return $buffer;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// News vollständig nachladen (Custom-Felder!)
|
// 🔥 News vollständig laden (inkl. Custom-Felder)
|
||||||
$news = NewsModel::findByPk($GLOBALS['objNews']->id);
|
$news = NewsModel::findByPk($GLOBALS['objArticle']->id);
|
||||||
|
|
||||||
if ($news === null) {
|
if ($news === null) {
|
||||||
return $buffer;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$GLOBALS['MEILISEARCH_MARKERS']['news'] = [
|
$GLOBALS['MEILISEARCH_MARKERS']['news'] = [
|
||||||
'priority' => (int) ($news->priority ?? 0),
|
'priority' => (int) ($news->priority ?? 0),
|
||||||
'keywords' => trim((string) ($news->keywords ?? '')),
|
'keywords' => trim((string) ($news->keywords ?? '')),
|
||||||
];
|
];
|
||||||
|
|
||||||
return $buffer;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -15,14 +15,14 @@ $GLOBALS['TL_HOOKS']['indexPage'][] = [
|
|||||||
'onIndexPage'
|
'onIndexPage'
|
||||||
];
|
];
|
||||||
|
|
||||||
$GLOBALS['TL_HOOKS']['parseFrontendTemplate'][] = [
|
$GLOBALS['TL_HOOKS']['parseTemplate'][] = [
|
||||||
MeilisearchNewsMarkerListener::class,
|
MeilisearchNewsMarkerListener::class,
|
||||||
'onParseFrontendTemplate',
|
'onParseTemplate',
|
||||||
];
|
];
|
||||||
|
|
||||||
$GLOBALS['TL_HOOKS']['parseFrontendTemplate'][] = [
|
$GLOBALS['TL_HOOKS']['parseTemplate'][] = [
|
||||||
MeilisearchEventMarkerListener::class,
|
MeilisearchEventMarkerListener::class,
|
||||||
'onParseFrontendTemplate',
|
'onParseTemplate',
|
||||||
];
|
];
|
||||||
|
|
||||||
$GLOBALS['MEILISEARCH_MARKERS'] = [];
|
$GLOBALS['MEILISEARCH_MARKERS'] = [];
|
||||||
Reference in New Issue
Block a user