Tachchen!
Ich dreh langsam durch...
Folgende Extensions sind u.a. unter TYPO3 4.1.2 installiert:
- macina_searchbox 2.2.0
- tt_news 2.5.0
- indexed_search 2.10.0
Aktuelle Testsite: http://cms.kirchenkreis-rantzau.de/index.php?id=8
Ich habe 2 Test-News per tt_news eingebaut. Wenn man in die Suche den Begriff "Newstitel 2" einträgt, bekommt man ordentlich die Treffer angezeigt.
Nun das Problem:
Klickt man in der Trefferliste auf eine Headline, z.B. "Newstitel 2" gelangt man ordnungsgemäß zum richtigen Artikel in der Single-Ansicht von tt_news. Klickt man aber auf den empfohlenen Link z.B. Pfad: "/Startseite/Aktuelles/Artikel" bekommt man auf der neu erscheinenden Seite die Fehlermeldung "Keine news_id übergeben."
Liegt der Fehler bei indexed_search,macina_searchbox oder bei tt_news? Oder habe ich nur irgendwo falsche Einstellungen vorgenommen?? Nur wo??
Kann mir jemand auf die Sprünge helfen? Bin echt ratlos.
So, hab die Lösung gefunden. Es ist ein indexed_search Bug. Diese Datei muss ca. ab Zeile 2083 geändert werden: typo3/sysext/indexed_search/pi/class.tx_indexedsearch.php
} else {
$pathStr = htmlspecialchars($this->getPathFromPageId($pathId,$pathMP));
/* add this code */
$copy_row = $row;
$copy_row['data_page_mp'] = $pathMP;
$tmplArray['path'] = $this->linkPage($pathId,$pathStr,$copy_row);
/* end */
/* comment out the original code
$tmplArray['path'] = $this->linkPagE($pathId,$pathStr,array(
'data_page_type' => $row['data_page_type'],
'data_page_mp' => $pathMP,
'sys_language_uid' => $row['sys_language_uid'],
));
end */
}
Lösungsverlauf steht hier: http://bugs.typo3.org/view.php?id=1235
Achtung:
Hiernach ist offensichtlich auch das folgende Update in der gleichen Datei durchzuführen (auch ohne geschlossenen Bereich mit FE-Usern):
#60818
Kan jemand bestätigen, dass man dieses zweite Update auch einbauen muss?
Habe das ganze mal etwas ausgebaut, so, dass auch der richtige Pfad angezeigt wird (beim unten stehenden Update wird nämlich nur der richtige Pfad als href gesetzt, aber nicht angezeigt):
$pathStr = htmlspecialchars($this->getPathFromPageId($pathId,$pathMP));
$pathAdr = $this->linkPage($pathId,$pathStr,$row);
preg_match('/href="(.*)"/i', $pathAdr, $regs);
$folder = explode('/', $regs[1]);
if ((strstr($folder[count($folder)-1], '.')) AND (count($folder) > 1)) {
array_pop($folder);
}
foreach ($folder as $k => $v) {
$folder[$k] = ucfirst($v);
}
$tmplArray['path'] = str_replace('>'.$pathStr.'</a>', '>/'.implode('/', $folder).'</a>', $pathAdr);
/*
$tmplArray['path'] = $this->linkPage($pathId,$pathStr,array(
'data_page_type' => $row['data_page_type'],
'data_page_mp' => $pathMP,
'sys_language_uid' => $row['sys_language_uid'],
));
*/
Liebe Grüße,
Nicole