Normalerweise wird von ke_search das Feld „subheader“ nicht indexiert. Man kann aber einen Hook nutzen, um beliebige Felder in ke_search hinzuzufügen:
- 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/