Indexer für Inhaltselemente

Beschreibung

Der Indexer für Inhaltselemente erlaubt Ihnen, einzelne Inhaltselemente zu indexieren. Jedes Inhaltselement bekommt einen einzelnen Eintrag im Index. Der content element indexer indexiert die gleichen Inhaltselemente wie der Seiten-Indexer.

Die Zugriffsbeschränkungen für Inhaltselemente werden komplett übernommen (siehe Seiten-Indexer).

Jedes Inhaltselement erbt die Zugriffsbeschränkungen seiner Seite.

Bei einer Indexierung der Inhaltselemente werden zwei Ergebnisse geliefert, wenn zwei unterschiedliche Textelemente das selbe Suchwort enthalten. Dies ist bei einer Seitenindexierung nicht der Fall (siehe oben). Andererseits werden alle Zugriffsbeschränkungen komplett übernommen.

In der Ergebnisliste zeigt ein Ergebnis direkt auf das entsprechende Inhaltselement (via an anchor link).

Wichtige Anmerkung: Die Seiteneigenschaft "Include subpages" wird nicht übernommen. Das bedeutet, dass Inhaltselemente nicht die Berechtigungskonzepte ihrer Elternseite erben, wenn bei dieser "Include subpages" eingestellt ist. Die Unterstützung dieser Funktion ist allerdings für die Zukunft geplant.

Konfiguration

Genau wie beim "Seiten-Indexer".

Setzen Sie „Index content elements with restrictions” auf „ja“.

Gregor Agnes, 31-05-15 16:09
Hallo, werden auch DCEs und gridelements, also mit der Extension dce bzw. gridelements erstellte Inhaltselemente indexiert?
Christian, 01-06-15 11:10
Hallo Gregor, Inhaltselemente in gridelements werden indexiert. Allerdings gibt es derzeit (Version 1.10.0) noch einen Bug, d. h. die Inhaltselemente werden auch indexiert, wenn wenn das umgebende Rasterelement ausgeblendet ist , siehe https://forge.typo3.org/issues/65536

Ob DCEs indexiert werden können kann ich derzeit nicht sagen, das habe ich noch nicht getestet.
Raquel, 06-07-15 11:30
Ne, DCE ist nicht indexiert.
Man muss in ke_search>Classes>indexer>types>class.tx_kesearch_indexer_types_page.php etwas wie das machen:

1. 'dce_dceuid%' CTypes hinzufügen
var $indexCTypes = array(
'text',
'textpic',
'bullets',
'table',
'html',
'header',
'uploads',
'dce_dceuid%'
);

2. SQL in 148 Line anpassen
foreach ($this->indexCTypes as $value) {
if(strpos($value, 'dce') !== false) {
$cTypes[] = 'CType LIKE "' . $value . '"';
} else {
$cTypes[] = 'CType="' . $value . '"';
}
}

3. Indexer tt_content hinzufügen

LG
Raquel, 07-07-15 15:56
Eingentlich es ist nicht genug. Die tt_content indexiert Inhalte von "bodytext" und "header" column. aber die Inhalte von DCE ist in "pi_flexform" column. Man muss mehr tricks implementieren.

4. In class.tx_kesearch_indexer_types_page.php Eine Methode ähnlich als getContentFromContentElement() bauen:

public function getContentFromFlexFormElement($ttContentRow) {
$flexform = $ttContentRow['pi_flexform'];
return strip_tags(html_entity_decode($flexform)); // Remove all Html tags
}

5. In class.tx_kesearch_indexer_types_tt_content.php, sag die Flexform content indexiert muss.
if(strpos($row['CType'],'dce_dceuid') !== false) {
$fileObjects = $this->findLinkedFilesInRte($row);
$content .= $this->getContentFromFlexFormElement($row) . "\n";
} else {
$fileObjects = $this->findLinkedFilesInRte($row);
$content .= $this->getContentFromContentElement($row) . "\n";

}
Es funktioniert in meine Tests. Vll ist die Köde nicht so schön, aber..
LG
Christian, 08-07-15 12:37
Hallo Raquel, danke für die Hinweise, wahrscheinlich wäre es mal an der Zeit für einen dedizierten DCE-Indexer.
Jochen Wirth, 01-09-15 10:08
Hallo,

zunächst einmal herzlichen Dank für diese Extension. Eine Sache bekomme ich aber irgendwie nicht hin.
Ich habe Inhaltselemente Text mit Bild. Der Text landet wunderbar im Index die Bilder mit Ihren Metadaten (Alt, Title, Caption) leider nicht.

In der Konfiguration habe ich mal die config für Inhaltselement angelegt und die Dateiendungen um Bilder erweitert.
Trotzdem kommen die Bildunterschriften nicht in den Index. Ab 1.8 ist doch die Indexierung von FAL möglich oder?

Wäre super wenn mir jemand einen Schupps in die richtige Richtung geben würde.

Ach so :

Typo3 6.2.14
ke_search 1.10.1

LG

Jochen
ado, 13-04-17 09:01
Hallo,

wie ist der Status mit dem DCE Indexer?

Danke.
Ingo, 28-06-17 12:00
@ado

Seit "dce" 1.2 geht das mit dem Page/Content Indexer. Einfach bei DCE die Index-Spalten definieren und im kesearch Indexer die UID der DCEs angeben.

https://forge.typo3.org/projects/extension-dce/wiki/Updating-DCE-from-version-below-12#ke_search-Hook
Daniel, 25-07-17 09:54
Da MASK inzwischen recht populär geworden ist, würde mich interessieren wie da der Stand der Dinge ist.
Was ist zu tun damit diese Elemente indexiert werden?
Sven, 13-09-17 10:49
@Daniel
Hallo,

du brauchst erstmal einen custom indexer wie in der Dokumentation beschrieben. Ich erbe da meistens von \tx_kesearch_indexer_types_page. Da mir ein Suchergebnis pro Seite reicht.

Du solltest dann die $defaultIndexCTypes variable überschreiben und die CTypes der mask Elemente dort eintragen.

Zusätzlich baue ich dann immer noch einen Mechanismus ein der in der getContentFromContentElement Funktion dafür sorgt das alle relevanten Felder abhängig vom CType mit in die Indexierung kommen.

Falls mask Elemente zusätzlich von mask generierte Tabellen für eigens definierte Gruppen benutzen gibt es dafür dann die Möglichkeit den Hook $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['ke_search']['modifyContentFromContentElement'] zu nutzen um dort dann durch die Inhalte dieser Tabelle auch passend zu iterieren.

Es muss halt jeder relevante Text mit in den $content String für den index geparsed werden.

Kommentar hinzufügen

* - Pflichtfeld

Ihr Ansprechpartner für ke_search

Das Absenden ist erst dann möglich, wenn alle Pflichtfelder ausgefüllt sind und der Haken „Ich akzeptiere“ gesetzt ist. * Pflichtfelder

Hinweis zum Kontaktformular: Wir benötigen Ihren Namen um Sie ansprechen zu können und Ihre E-Mail-Adresse um Ihnen antworten zu können.
Datenschutzhinweise: Ihre Anfrage wird verschlüsselt übertragen. Sie erklären Sich damit einverstanden, dass wir Die Angaben zur Beantwortung Ihrer Anfrage verwenden dürfen. Weitere Informationen zum Datenschutz und Widerrufhinweise finden Sie auf unserer "Datenschutzerklärung".

zurück zum Kontakt
 

TYPO3 Agentur aus Leidenschaft. Wir erbringen alle Dienstleistungen rund um TYPO3. Von einfachen Webseiten bis hin zu TYPO3 Portal-Webseiten oder hoch komplexen TYPO3-Extensions. Wir engagieren uns im TYPO3 Security Board und in der Community. Unsere TYPO3 Agentur "lebt" TYPO3.