daniel_philippi
Occasional Collector

Sprachverzeichnis nicht erzeugen möglich?

Hallo Zusammen.

Wir haben ein Projekt mit Sprachreitern für jedes Land z.B. de_ch, it_ch, ... und benötigen aber auch eine eigene Struktur für jede Land/Sprache Kombination. D.h. wir haben in der Struktur nochmal einen Ordner de_ch, it_ch, ... Somit sieht die URL wie folgt aus:

/de_ch/de_ch/index.html

Gibt es in FirstSpirit eine Möglichkeit einen der beiden Ordner abzuschaffen so dass ich auf ein Rewrite des Apache verzichten kann? Denn mit dem Rewrite im Apache kann ich zwar die URL schön machen, aber wenn ich auf einen Link klicke habe ich dann doch wieder beide Ordner in der URL.

Hat hier jemand eine Idee?

Viele Grüße,

Daniel

0 Kudos
5 Replies
hoebbel
Crownpeak employee

Hallo Daniel,

wie wäre es hiermit:

Veröffentlichen ohne Sprachverzeichnis

Man müsste das Shellskript dann entsprechend erweitern, dass es alle Endungen entfernt und nicht nur .de wie im Beispiel.

Außerdem müsste eine Logik eingebaut werden, dass die entsprechenden Ordner nur in der gewünschten Sprache erzeugt werden, damit die Seiten nicht doppelt angelegt werden. Also zum Beispiel eine Struktur-Variable anlegen und für jeden Teilbaum die korrekte Sprache definieren.

Am Anfang jedes Seitentemplates dann prüfen, ob die aktuelle Sprache [#global.language.abbreviation] dem hinterlegtem Sprachkürzel entspricht und wenn nicht, die Seite nicht erzeugen [$CMS_SET(#global.stopgenerate,true)$]

Viele Grüsse aus Dortmund,

  Holger

Genial, danke dafür

Ich hab aber noch eine Frage.

Folgende Abfrage habe ich drin, sie liefert auch true für die korrekten Seiten:

$CMS_IF(ss_country != #global.language.abbreviation.toLowerCase())$

    $CMS_SET(#global.stopgenerate,true)$

$CMS_END_IF$

Problem ist, dass die Seiten trotzdem generiert werden. Ich habe bei der Publizierung auch eingestellt, dass das Generierungsverzeichnis vorher geleert werden soll. Muss ich sonst noch was einstellen, dass das funktioniert?

Viele Grüße,

Daniel

0 Kudos

Hallo Daniel,

Sorry, war mein Rechtschreibfehler Smiley Sad

es muss natürlich

$CMS_IF(ss_country != #global.language.abbreviation.toLowerCase())$

    $CMS_SET(#global.stopGenerate,true)$

$CMS_END_IF$

heißen (also mit großen G)

Dann sollte es klappen.

Viele Grüsse aus Dortmund,

  Holger

P.S. Der gesamte Lösungsansatz beruht darauf, dass jede Seite nur in einer einzigen Sprache erzeugt werden soll, da man ansonsten nach dem Umbenennen doppelte Dateinamen hätte.

0 Kudos

Ok, es funktioniert nun, danke.

Es werden keine Seiten mehr publiziert, Ordner jedoch schon. D.h. die Ordner in denen sich Seiten befinden, die dann nicht gereriert werden, werden aber leer erzeugt. D.h. ich habe für jede Sprach/Land Kombination eine leere Ordnerstruktur.

Kann ich das auch noch verhindern?

Gruß,

Daniel

0 Kudos

Der einfachste Weg wäre die nach der Generierung zu löschen. Das ist auch wieder über ein entsprechendes Shellskript möglich

0 Kudos