Add Index Listener
This commit is contained in:
@@ -2,44 +2,17 @@
|
|||||||
|
|
||||||
namespace MummertMedia\ContaoMeilisearchBundle\EventListener;
|
namespace MummertMedia\ContaoMeilisearchBundle\EventListener;
|
||||||
|
|
||||||
use Contao\CoreBundle\ServiceAnnotation\Hook;
|
|
||||||
use MummertMedia\ContaoMeilisearchBundle\Service\SearchDataProvider;
|
|
||||||
use Psr\Log\LoggerInterface;
|
|
||||||
|
|
||||||
class IndexPageListener
|
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
|
public function onIndexPage(string $content, array &$data, array &$set): void
|
||||||
{
|
{
|
||||||
// Log into Symfony / Monolog
|
// absolut eindeutiger Beweis
|
||||||
$this->logger->info('[MEILI] onIndexPage fired', [
|
error_log('### MEILI TEST LISTENER CALLED ###');
|
||||||
'type' => $set['type'] ?? null,
|
|
||||||
'set' => $set,
|
|
||||||
]);
|
|
||||||
|
|
||||||
$searchData = $this->dataProvider->getSearchData($set);
|
// optional: Kontext anzeigen
|
||||||
|
error_log('### MEILI SET: ' . json_encode($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'],
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
MummertMedia\ContaoMeilisearchBundle\Service\SearchDataProvider: ~
|
MummertMedia\ContaoMeilisearchBundle\:
|
||||||
|
resource: '../../*'
|
||||||
MummertMedia\ContaoMeilisearchBundle\EventListener\IndexPageListener:
|
autowire: true
|
||||||
|
autoconfigure: true
|
||||||
public: 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