Multilanguage-Site mit einem Template

Hier bekommst Du deutschsprachigen Support. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
photojo
Posts: 713
Joined: Wed 15. Nov 2006, 20:02
Location: Regensburg, Germany
Contact:

Re: Multilanguage-Site mit einem Template

Post by photojo »

Danke! Ich muss nochmal nachfragen. Irgendwie bekomme ich nicht weiter. Mein Struktur war so:

Code: Select all

home
-- peter (KAT ID 1)
-- maria (KAT ID 2)
-- eva (KAT ID 3)
-- tom (KAT ID 3)
Bisher habe ich, wie beschrieben, so gehabt.

Code: Select all

if(isset($LEVEL_ID[1])) { 
   $content['body_id'] = $LEVEL_ID[1];
}
Auf diese Weise habe ich die Kategorien separat angesprochen, da sie alle unterschiedlichen Farbschematas haben sollen.

Nun wird die Site zweisprachig, also quasi 8-Farbig.

Bisher habe ich das gemacht:

Code: Select all

home
-- de (KAT ID 5)
---- peter (KAT ID 1)
---- maria (KAT ID 2)
---- eva (KAT ID 3)
---- tom (KAT ID 3)
-- cn (KAT ID 6)
---- ping (KAT ID 7)
---- pong (KAT ID 8)
---- ying (KAT ID 9)
---- yang (KAT ID 10)
Irgendwie komme ich nicht weiter, stehe am Schlauch oder bin einfach zu ..., na ja.

Soll ich jetzt jeden Katergorien im BE eine Klasse mitgeben?
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Multilanguage-Site mit einem Template

Post by Oliver Georgi »

ich rate zu den Klassen, dann ist es mehrfach verwendbar. Mein Beispiel fußt leider auf dem Alias anstatt den Klassen, vertan. Also dann für klassenbasiert so:

Code: Select all

if(isset($LEVEL_ID[1]) && !empty($content['struct'][$LEVEL_ID[1]]['acat_class'])) {
    $template_default['body']['class'] = trim($template_default['body']['class'].' '.$content['struct'][$LEVEL_ID[1]]['acat_class']);
    if(isset($LEVEL_ID[2]) && !empty($content['struct'][$LEVEL_ID[2]]['acat_class'])) {
        $template_default['body']['class'] = trim($template_default['body']['class'].' '.$content['struct'][$LEVEL_ID[2]]['acat_class']);
    }
}
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
photojo
Posts: 713
Joined: Wed 15. Nov 2006, 20:02
Location: Regensburg, Germany
Contact:

Re: Multilanguage-Site mit einem Template

Post by photojo »

Danke erneut, aber kleines Problem bleibt noch:

Dein Skript liefert jetzt z. B.

.de.peter11

wobei 11 die Kategorie unter Peter ist. Es sollen aber ALLE Kategorien unter peter gleich sein. Dann müsste noch ein Punkt zwischen .de.peter und 11, oder? Oder das 11 ganz weg? Von der CSS-Logik ist mir das ja alles klar, ich kriegs nur nicht in den Body, wie ich mir es vorstelle.

Code: Select all

home
-- de (KAT ID 5)                     -> body class="de"
---- peter (KAT ID 1)              -> body class="de peter"
---- peters kind a (KAT ID 11) -> body class="de peter"
---- peters kind b (KAT ID 12) -> body class="de peter"
---- maria (KAT ID 2)
---- eva (KAT ID 3)
---- tom (KAT ID 3)
-- cn (KAT ID 6)
---- ping (KAT ID 7)
---- pong (KAT ID 8)
---- ying (KAT ID 9)
---- yang (KAT ID 10)
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Multilanguage-Site mit einem Template

Post by Oliver Georgi »

Du nutzt älteres phpwcms, dort einfach wie folgt.

Code: Select all

if(isset($LEVEL_ID[1]) && !empty($content['struct'][$LEVEL_ID[1]]['acat_class'])) {
    $template_default['body']['class'] = trim($template_default['body']['class'].' '.$content['struct'][$LEVEL_ID[1]]['acat_class']);
    if(isset($LEVEL_ID[2]) && !empty($content['struct'][$LEVEL_ID[2]]['acat_class'])) {
        $template_default['body']['class'] = trim($template_default['body']['class'].' '.$content['struct'][$LEVEL_ID[2]]['acat_class']);
    }
    if($template_default['body']['class']) {
        $template_default['body']['class'] .= ' level-';
    }
}
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
photojo
Posts: 713
Joined: Wed 15. Nov 2006, 20:02
Location: Regensburg, Germany
Contact:

Re: Multilanguage-Site mit einem Template

Post by photojo »

Super, danke! So hilt es mir!
photojo
Posts: 713
Joined: Wed 15. Nov 2006, 20:02
Location: Regensburg, Germany
Contact:

Re: Multilanguage-Site mit einem Template

Post by photojo »

So, ein kleines Problem habe ich noch:


Unter www.xyz.de/index.php?de ist nun die deutsche Seite und unter www.xyz.de/index.php?cn die chinesische Seite erreichbar.
Beim Aufruf von www.xyz.de kommt nun www.xyz.de/index.php?id=
Die soll aber standardmäßig zunächst auf die deutsche Variante switchen.

Wie macht man das nun. Eine Weiterleitung in phpwcms oder via htacces?!
Danke!
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Multilanguage-Site mit einem Template

Post by Oliver Georgi »

Wo ist nur das Problem, sich einmal mit existierenden Lösungen auseinanderzusetzen?
https://github.com/slackero/phpwcms-ext ... g.init.php
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
photojo
Posts: 713
Joined: Wed 15. Nov 2006, 20:02
Location: Regensburg, Germany
Contact:

Re: Multilanguage-Site mit einem Template

Post by photojo »

Ich trau mich fast nicht mehr zu fragen, aber nur fast! ;-) Bitte seid nachsichtig!

de hat die ID 167, cn die id 168

Wie kann ich jetzt z. B. so etwas realisieren?

if de
SHOW_CONTENT: 500
else if
SHOW_CONTENT: 600
Old Boy
Posts: 1203
Joined: Fri 23. Nov 2012, 13:52

Re: Multilanguage-Site mit einem Template

Post by Old Boy »

Also länderspezifische Inhalte solltest du über die entsprechenden Artikel realisieren!
Zumindest mach ich das so.

Oder befindet sich der Aufruf im Haupttemplate?

Die länderspezifische Endung steht dir übrigens über das RT {LANG} zur Verfügung.
photojo
Posts: 713
Joined: Wed 15. Nov 2006, 20:02
Location: Regensburg, Germany
Contact:

Re: Multilanguage-Site mit einem Template

Post by photojo »

Ja, der Aufruf ist im Haupttemplate. Ich möchte nur mit einem Tamplate arbeite, wenn möglich.
photojo
Posts: 713
Joined: Wed 15. Nov 2006, 20:02
Location: Regensburg, Germany
Contact:

Re: Multilanguage-Site mit einem Template

Post by photojo »

Danke euch beiden.
Das mit [IF_CAT: ...] wäre natürlich ideal, aber das arbeitet nicht "rekursiv", d.h. man muss halt alle ID einzeln aufführen. Kann/könnte man das irgendwie umgehen, damit sich das "automatisch" auf eine angegeben Kat und alle unter ihr liegenden Kat bezieht. Wenn man später weitere Kat anlegt, müsste man diese nicht zusätzlich aufführen.
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Multilanguage-Site mit einem Template

Post by Oliver Georgi »

Ich habe das Rendering umgestellt https://github.com/slackero/phpwcms/com ... c129b0fe90. Dürfte aber Dein Problem nicht lösen, wobei ich das Lösen über System-Ersetzer für diese Anforderung nicht für sinnvoll halte. Du hast alles, was Du brauchst, um zu wissen, wo Du Dich im Baum befindest. Da ist ein Frontend Render Script deutlich effektiver. Hinter jedem Ersetzer steht eine native Funktion, die man nutzen kann.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
photojo
Posts: 713
Joined: Wed 15. Nov 2006, 20:02
Location: Regensburg, Germany
Contact:

Re: Multilanguage-Site mit einem Template

Post by photojo »

Merci! Ich versuche mal, ein Script zu basteln.
photojo
Posts: 713
Joined: Wed 15. Nov 2006, 20:02
Location: Regensburg, Germany
Contact:

Re: Multilanguage-Site mit einem Template

Post by photojo »

Warum wird

Code: Select all

[en]This is English[/en][de]Das ist Deutsch[/de]
nicht gerendert?!
Post Reply