Add Index Listener
This commit is contained in:
@@ -2,44 +2,17 @@
|
||||
|
||||
namespace MummertMedia\ContaoMeilisearchBundle\EventListener;
|
||||
|
||||
use Contao\CoreBundle\ServiceAnnotation\Hook;
|
||||
use MummertMedia\ContaoMeilisearchBundle\Service\SearchDataProvider;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class IndexPageListener
|
||||
{
|
||||
public function __construct(
|
||||
private readonly SearchDataProvider $dataProvider,
|
||||
private readonly LoggerInterface $logger
|
||||
) {}
|
||||
|
||||
/**
|
||||
* @Hook("indexPage")
|
||||
* Wird bei jeder Indexierung aufgerufen
|
||||
*/
|
||||
public function onIndexPage(string $content, array &$data, array &$set): void
|
||||
{
|
||||
// Log into Symfony / Monolog
|
||||
$this->logger->info('[MEILI] onIndexPage fired', [
|
||||
'type' => $set['type'] ?? null,
|
||||
'set' => $set,
|
||||
]);
|
||||
// absolut eindeutiger Beweis
|
||||
error_log('### MEILI TEST LISTENER CALLED ###');
|
||||
|
||||
$searchData = $this->dataProvider->getSearchData($set);
|
||||
|
||||
$this->logger->info('[MEILI] provider result', [
|
||||
'result' => $searchData,
|
||||
]);
|
||||
|
||||
if ($searchData === null) {
|
||||
return;
|
||||
}
|
||||
|
||||
$data['priority'] = (int) $searchData['priority'];
|
||||
$data['keywords'] = (string) $searchData['keywords'];
|
||||
|
||||
$this->logger->info('[MEILI] tl_search updated', [
|
||||
'priority' => $data['priority'],
|
||||
'keywords' => $data['keywords'],
|
||||
]);
|
||||
// optional: Kontext anzeigen
|
||||
error_log('### MEILI SET: ' . json_encode($set));
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
services:
|
||||
MummertMedia\ContaoMeilisearchBundle\Service\SearchDataProvider: ~
|
||||
|
||||
MummertMedia\ContaoMeilisearchBundle\EventListener\IndexPageListener:
|
||||
MummertMedia\ContaoMeilisearchBundle\:
|
||||
resource: '../../*'
|
||||
autowire: true
|
||||
autoconfigure: true
|
||||
public: true
|
||||
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
use MummertMedia\ContaoMeilisearchBundle\EventListener\IndexPageListener;
|
||||
|
||||
$GLOBALS['TL_HOOKS']['indexPage'][] = [IndexPageListener::class, 'onIndexPage'];
|
||||
Reference in New Issue
Block a user