[TYPO3-german] Seitenbaum einer bestimmten Sprache einer anderen Länderseite vererben

Stephan Schuler Stephan.Schuler at netlogix.de
Wed Aug 17 12:41:51 CEST 2011


Hallo Volker.


Bitte pass auf was du tust, du bist auf dem besten Weg, dir ein Monster ans Bein zu binden das man bei der geringsten Strukturänderung neu installieren muss und Daten von Hand kopieren.

Die Konfiguration mit gemischter Standardsprache auf der deutschen und der französischen Seite lass bitte bleiben. Entscheide dich für eine einzige Standardsprache. Das sollte die sein, in der am meisten Inhalt hinterlegt wird. Ich hab mit allem anderen als englisch immer schlechte Erfahrungen gemacht. Es kann mit anderen Sprachen klappen, aber die Erfahrung zeigt, dass internationale Seiten (jedenfalls solche die von europäischen Unternehmen erstellt werden) die größten Überschneidungen in englischer Sprache haben.
Spätestens wenn du Inhalte unterschiedlicher Sprachen mischst (Mountpoints, "Show content from this page", via TemplaVoila referenzierte Inhalte oder das Standard-TYPO3-Inhaltselement "Include Record") produzierst du im Frontend plötzliche Sprachwechsel, ohne dass sich der Sprachparameter ändert oder es fehlen im Frontend Inhalte die der Redakteur im Backend sieht. Ein weiteres Beispiel sind News. Solange News für unterschiedliche Domains strikt getrennt geschrieben und gehalten werden, spielt das noch keine Rolle. Sobald aber dem ersten Redakteur auffällt dass ein Newseintrag bereits auf Domain1 geschrieben wurde und er diesen jetzt einfach nur auf Domain2 anzeigen möchte hat er Probleme, wenn die sys_language_uid=0 beider Domains unterschiedliche Bedeutungen haben.

Spielchen wie "auf einer Domain ist L=0 sys_language_uid=0 (also Standardsprache), auf einer anderen ist L=0 sys_language_uid=3" lassen sich zwar via Typoscript und Conditions erledigen. Immerhin ist die config.sys_language_uid nicht zwingend an den L-Parameter gekoppelt sondern wird erst im Typoscript auf einen Wert gesetzt. Trotzdem sollte man config.sys_language_uid und den L-Parameter stets synchron halten um Verwirrung zu vermeiden. Außerdem ist z.B. innerhalb von index_search der L-Parameter hart ins Suchergebnis codiert weil hier Ergebnisse unterschiedlicher Sprachen angezeigt werden. Sobald man index_search mehrsprachig verwendet, sind einheitliche L- und config.sys_language_uid-Werte ein Muss.

Solche Stöcke sollte man sich nicht selbst in den Weg legen. Also: Eine einzige Standardsprache, bevorzugt englisch.


Seit 4.3 kann man für linkVars Standardwerte via Typoscript hinterlegen. Wenn eine Domain nicht in Standardsprache starten soll sondern französisch bietet sich der L=3-Parameter als Standardwert für diesen Teilbaum an. Dafür sollte "config.defaultGetVars" dienen.
Die Typoscript-Konfiguration für den FR-Teilbaum sähe dann etwa so aus:

config.sys_language_uid = 3
config.language = fr
config.locale_all = fr_FR.utf8
config.defaultGetVars.L = 3
config.getVars = L(0-3)

[globalVar = GP:L=0]
        config.sys_language_uid = 0
        config.langauge = en
        config.locale_all = en_EN.utf8
[globalVar = GP:L=1]
        config.sys_language_uid = 1
        config.language = de
        config.locale_all = de_DE.utf8
[global]


Der Mountpoint an sich sorgt dafür, dass der unterhalb der "vermounteten" Seite hängende Teilbaum dort sichtbar wird wo deine Mountpointseite liegt. Die Mountpointseite selbst bleibt davon unberührt. Wenn du Mountpoints verwendest, wirst du deshalb zusätzlich noch "Show content from this page" in den Seiteneigenschaften der Mount-Seite setzen wollen. Allerdings solltest du hier genau prüfen, ob das Ergebnis in Bezug auf RealURL das ist was du erreichen möchtest.


Ich versuche, solche Mountpoints soweit es geht zu vermeiden. Schon alleine weil die URL-Bildung für den normalen Redakteur praktisch "unberechenbar" ist. Ich arbeite stattdessen viel lieber ausschließlich mit "Show content from this page". Das nimmt zwar keine Unterseiten mit sondern referenziert wirklich nur eine einzige Seite. Da es sich aber häufig ohnehin nur um zwei oder drei Seiten dreht spielt das keine große Rolle. Dafür lassen sich interne Links setzen, was bei Mountpoints ja nicht funktioniert.
Beispiel:
        DomainA
        - Page1
        -- Page1.1
        -- Page1.2
        DomainB
        - Page1 (mountpoint auf DomainA/Page1)
        - Page2
Wenn von Page 2 auf Page 1.2 verlinkert werden soll ist es regelmäßig Glückssache, ob der Link im Frontend auf DomainA/Page1/Page1.2 oder DomainB/Page1/Page1.2 zeigt. Ich will aber je nach Zweck der Verlinkung bewusst einen domainübergreifenden oder domaininternen Link setzen, das Ergebnis ist deshalb in der Hälfte der Fälle nicht das was ich will.
Spätestens wenn sich dann Funktionalität in Form eines Plugins auf diesen "vermountpointeten" Seiten befindet (ein Anmeldeformular zum Beispiel oder ein Mini-Kalender mit Monats-Blätterfunktion) das auf sich selbst verweist kämpft man mit MP_defaults und MP_mapRootPoints.
Das Leben wird hier durch einige gezielte "Show content from this page" bedeutend einfacher.

Abgesehen davon bin ich derjenige der eine Seite konfiguriert und wartet, nicht der Redakteur. Der Redakteur kann sich im Vorfeld noch so sicher sein dass er wirklich einen vollständigen Teilbaum mit 24 Unterseiten von .com nach .de gemountet haben will, nach einem viertel Jahr kommt mit der allergrößten Wahrscheinlichkeit trotzdem die Anforderung, dass auf .com jetzt von 24 Seiten eine einzige mitten drin andere Inhalte zeigen soll als auf .de. Natürlich kann ich auch im Nachhinein einen Mountpoint auf "Show content from this page" umstellen. Trotzdem ist es immer nervig, wenn man die gleiche Sache zweimal anfassen muss weil man beim ersten Versuch den Wankelmut der Redakteure unterschätzt hat.


Grüße,



Stephan Schuler
Web-Entwickler

Telefon: +49 (911) 539909 - 0
E-Mail: Stephan.Schuler at netlogix.de
Website: media.netlogix.de


--
netlogix GmbH & Co. KG
IT-Services | IT-Training | Media
Andernacher Straße 53 | 90411 Nürnberg
Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
E-Mail: info at netlogix.de | Internet: http://www.netlogix.de

netlogix GmbH & Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338)
Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
Umsatzsteuer-Identifikationsnummer: DE 233472254
Geschäftsführer: Stefan Buchta, Matthias Schmidt



-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Volker Steck
Gesendet: Mittwoch, 17. August 2011 11:14
An: typo3-german at lists.typo3.org
Betreff: [TYPO3-german] Seitenbaum einer bestimmten Sprache einer anderen Länderseite vererben

Hallo Liste,
sitze gerade vor folgendem Problem und komm einfach nicht auf die Lösung.

ich hab mehrere Seitenbäume in einer TYPO3 Installation.
jeder Seitenbaum ist einer Domain mit unterschiedlichen Inhalten zugeordnet.

Hauptseite = domain.de
ist als Multilanguage Seite angelegt.
- Standard Sprache
- englisch => L=2
- französisch => L=3
- ...

Länderseite = domain.fr, ...
hier soll ein Seitenbaum der nur in der Hauptseite gepflegt wird vererbt werden.

Dachte ich kann das mit dem Seitentyp "Einstiegspunkt" abbilden. Das führt bis jetzt nicht zum gewünschten Ergebnis.
In der Default Sprache wird der Seitenbaum abgebildet aber leider nicht die gewünschte Sprache L=3.

Hab es dann mit folgendem TYPOSCRIPT versucht um die sys_language_uid der entsprechenden Seite zu ändern:
[PIDinRootline = 1995]
config.sys_language_uid = 3
config.content_from_pid_allowOutsideDomain = 1 config.typolinkEnableLinksAcrossDomains = 1 [global]

Aber der Seitenbaum der Sprache L= 3 wird nicht abgebildet.
Es kommt ein Fehler das kein Inhalt in der ausgewählten Sprache vorhanden ist... Weil es ja keine eigener Inhalt auf der Seite gibt...

Hier noch Beispielhaft die Seitenstruktur in TYPO3

- domain.de <- Default Sprache L=0 Language Key = de
--- Seite 1
--- Seite 2 ID 7  <- dieser Seitenbaum soll der domain.fr vererbt werden aber nur aus der Sprache L=3
----- Unterseite 1
----- Unterseite 2
--- Seite 3

- domain.fr <- Default Sprache L=0 Language Key = fr
--- Seite 1
--- Seite 2 ID 1995  <- hier soll der Seitenbaum der Sparche L=3 ausgegeben werden
--- Seite 3


Hat jemand eine Idee wie ich das lösen kann.
Wäre über jeden noch so kleinen Tipp dankbar.

Viele Grüße
Volker
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


More information about the TYPO3-german mailing list