Hallo Leute,
ich brauche eure Hilfe:
Typo3 4.5.32 -> Solr 2.8.3 (bei Mittwald) -> Multipage & Multilanguage
a) Mehrere Root-Pages unter ID=0
b) Erste Rootpage [id=1] trägt default-Sprache [0=de] und alle möglichen Sprachen (z. Z. 16)
c) Andere Rootpages haben den Seitenbaum in der Default-Sprache nur als "Aufhänger" und bedienen sich von der "Hauptrootpage (id=1)" (sind ihr aber nicht in der Hirarchie untergeordnet - existieren parallel) mittels "Zeige Seiteninhalt von" bzw. "tt_content - Link". Für Abweichenden Kontent kann man dort Seiten mit eigenen CE's versehen
d) Jede Root-Seite hat eine eigene ergänzendes/überschreibendes TS-Datei
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/templates/ts/init.ts">
e) RealURL deaktiviert (soll später jedoch laufen)
f) Alle Rootpages inkludieren zuerst Global-TS welches danach von Punkt-d) ergänzt bzw. überschrieben wird:
config.sys_language_mode = content_fallback
config.sys_language_overlay = hideNonTranslated
config.content_from_pid_allowOutsideDomain = 1
# Solr wird in den jew. localizations_xx.ts aktiviert
config.index_enable = 0
plugin.tx_solr.enabled = 0
plugin.solr.path >
g) Hauptrootpage-TS
[PIDinRootline=1] && [globalVar = GP:L = 0]
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE.utf8
config.htmlTag_langKey = de
# SOLR
config.index_enable = 1
plugin.tx_solr.enabled = 1
plugin.tx_solr.solr.path = /typo3_de_de/
[global]
h) Beispiel einer "Unter"-Root-page-TS
[PIDinRootline=9075] && [globalVar = GP:L = 16]
config.sys_language_uid = 16
config.language = zh
config.locale_all = zh_CN.utf8
config.htmlTag_langKey = zh
# SOLR
config.index_enable = 1
plugin.tx_solr.enabled = 1
plugin.tx_solr.solr.path = /typo3_zh_cn/
[global]
Alle Kerne existieren werden im Solradmin-Modul und "Search"-Modul auch zur Auswahl angeboten.
Nur leider wird der Baum mit Rootpage = 9075 und L=16 nicht indiziert:
code 1275399922
message Could not find a Solr connection for root page [9075] and language [0]. Initial page used was [9098]
ich habe testhalber direkt in den TS-Datensatz
config.sys_language_uid = 16
Eingetagen - leider kommt in Indexer immer die "0" an :-(
was könnte ich noch Prüfen oder wo ist mein Denkfehler?
Ich hoffe Ihr könnt mich verstehen und sogar helfen - Vielen Dank!
UPDATE:
Erzwing ich die sprache ich in:
solr/classes/class.tx_solr_connectionmanager.php
public function getConfigurationByPageId($pageId, $language = 0, $mount = '') {
$solrConfiguration = FALSE;
// find the root page
$pageSelect = t3lib_div::makeInstance('t3lib_pageSelect');
$rootLine = $pageSelect->getRootLine($pageId, $mount);
$siteRootPageId = $this->getSiteRootPageIdFromRootLine($rootLine);
/*FORCE*/
if($siteRootPageId ==9075)$language =16;
try {
$solrConfiguration = $this->getConfigurationByRootPageId($siteRootPageId, $language);
} catch (tx_solr_NoSolrConnectionFoundException $nscfe) {
$noSolrConnectionException = t3lib_div::makeInstance(
'tx_solr_NoSolrConnectionFoundException',
$nscfe->getMessage() . ' Initial page used was [' . $pageId . ']',
1275399922
);
$noSolrConnectionException->setPageId($pageId);
throw $noSolrConnectionException;
}
return $solrConfiguration;
}
wird das ganze wunschgemäß indiziert.
Wieso setzt
config.sys_language_uid = 16
Im Root-Template $language nicht auf 16?
Ich bin ganz ralos ...