ke_search: Subheader hinzufügen

Normalerweise wird von ke_search das Feld „subheader“ nicht indexiert. Man kann aber einen Hook nutzen, um beliebige Felder in ke_search hinzuzufügen:

  1. In der Datei „ext_localconf.php“ den Hook registrieren:
$additionContentClassName = 'TeaminmediasPluswerk\KeSearchHooks\AdditionalContentFields';
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['ke_search']['modifyPageContentFields'][] = $additionContentClassName;
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['ke_search']['modifyContentFromContentElement'][] = $additionContentClassName;

2. Eine neue Klasse anlegen, die das Feld „subheader“ hinzufügt:

<?php
namespace TeaminmediasPluswerk\KeSearchHooks;

class AdditionalContentFields {
    public function modifyPageContentFields(&$fields, $pageIndexer)
    {
        // add field "subheader" from tt_content table which is normally not indexed to list of fields
        $fields .= ",subheader";
    }
    public function modifyContentFromContentElement(string &$bodytext, array $ttContentRow, $pageIndexer)
    {
        // add the content of the field "subheader" to $bodytext which is what will be saved to the index
        $bodytext .= strip_tags($ttContentRow['subheader']);
    }
}

Um das in einem TYPO3 Projekt hinzuzufügen gibt es zwei Möglichkeiten:

1) Die Hook Beispiel Extension von ke_search ist eine fertige, lauffähige Extension – einfach aus dem git hinzufügen und bei Bedarf anpassen: https://github.com/teaminmedias-pluswerk/ke_search_hooks

2) In einer eigenen Extension den Code hinzufügen. Dann muss der Namespace „TeaminmediasPluswerk\KeSearchHooks“ entsprechend angepasst werden
Hier ist die Namespace Syntax erklärt: http://t3seo.de/typo3-extensions-und-namespaces/

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.