Bugfix
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace MummertMedia\ContaoMeilisearchBundle\EventListener;
|
||||
|
||||
use Contao\Config;
|
||||
use Contao\System;
|
||||
use MummertMedia\ContaoMeilisearchBundle\Service\PdfIndexService;
|
||||
|
||||
@@ -11,7 +12,22 @@ class IndexPageListener
|
||||
|
||||
public function onIndexPage(string $content, array &$data, array &$set): void
|
||||
{
|
||||
// 🔑 Service einmal pro Crawl initialisieren + Reset ausführen
|
||||
/*
|
||||
* =====================================================
|
||||
* PDF-Indexierung global deaktiviert?
|
||||
* → sofort raus, nichts anfassen
|
||||
* =====================================================
|
||||
*/
|
||||
if (!Config::get('meilisearch_index_pdfs')) {
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* =====================================================
|
||||
* PDF-Service einmal pro Crawl initialisieren
|
||||
* + Tabelle initial leeren
|
||||
* =====================================================
|
||||
*/
|
||||
if ($this->pdfIndexService === null) {
|
||||
$this->pdfIndexService = System::getContainer()->get(PdfIndexService::class);
|
||||
$this->pdfIndexService->resetTableOnce();
|
||||
@@ -127,7 +143,7 @@ class IndexPageListener
|
||||
}
|
||||
|
||||
/* =====================================================
|
||||
* PDF-Links im HTML finden
|
||||
* PDF-Links + Linktext aus HTML extrahieren
|
||||
* ===================================================== */
|
||||
private function findPdfLinks(string $content): array
|
||||
{
|
||||
@@ -143,7 +159,7 @@ class IndexPageListener
|
||||
|
||||
foreach ($matches[1] as $i => $href) {
|
||||
$result[] = [
|
||||
'url' => html_entity_decode($href),
|
||||
'url' => html_entity_decode($href),
|
||||
'linkText' => trim(strip_tags($matches[2][$i])) ?: null,
|
||||
];
|
||||
}
|
||||
|
||||
@@ -69,6 +69,15 @@ $GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_fallback_image'] = [
|
||||
'sql' => "varbinary(16) NULL",
|
||||
];
|
||||
|
||||
$GLOBALS['TL_DCA']['tl_settings']['fields']['meilisearch_index_pdfs'] = [
|
||||
'label' => &$GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_pdfs'],
|
||||
'inputType' => 'checkbox',
|
||||
'eval' => [
|
||||
'tl_class' => 'w50',
|
||||
],
|
||||
'sql' => "char(1) NOT NULL default '1'",
|
||||
];
|
||||
|
||||
/**
|
||||
* Palette
|
||||
*/
|
||||
@@ -80,4 +89,5 @@ PaletteManipulator::create()
|
||||
->addField('meilisearch_imagesize', 'meilisearch_legend')
|
||||
->addField('meilisearch_fallback_image', 'meilisearch_legend')
|
||||
->addField('meilisearch_index_past_events', 'meilisearch_legend')
|
||||
->addField('meilisearch_index_pdfs', 'meilisearch_legend')
|
||||
->applyToPalette('default', 'tl_settings');
|
||||
@@ -23,4 +23,9 @@ $GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_past_events'][0]
|
||||
= 'Abgelaufene Events indexieren';
|
||||
|
||||
$GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_past_events'][1]
|
||||
= 'Vergangene Kalender-Events werden ebenfalls in Meilisearch indexiert.';
|
||||
= 'Vergangene Kalender-Events werden ebenfalls in Meilisearch indexiert.';
|
||||
|
||||
$GLOBALS['TL_LANG']['tl_settings']['meilisearch_index_pdfs'] = [
|
||||
'PDFs indexieren',
|
||||
'Aktiviert die Indexierung von PDF-Dateien für die Suche.',
|
||||
];
|
||||
Reference in New Issue
Block a user