Home / Forum / /content/view/ - mehrsprachig

/content/view/ - mehrsprachig

Um Zugang zu den Foren zu erhalten, müssen Sie angemeldet sein

Autor Nachricht

fabian schoen

Registriert seit: 28.07.2006

Beiträge: 21

Montag, 04. September 2006 23:57:08

Guten Abend

Ich habe einen Aufruf mit
<a href={concat('content/view/line/', $children.node_id)|ezurl()} ...
kreiert.
In der URL erscheint dann korrekterweise
/content/view/line/75
was mir auch den Inhalt mit der View "line" darstellt. Soweit so gut.

Jetzt habe ich aber die Website mehrsprachig gestaltet. Englisch (primaer) und Deutsch. Die Sprachen sind immer auswaehlbar auf der Website, auch wenn das Objekt noch nicht uebersetzt wurde.
Die Url zum "Sprache wechseln" habe ich folgendermassen zusammengesetzt:
<a href={concat("../",$locale.country_code|downcase(),"/",$module_result.content_info.url_alias)|ezurl} ...

Wenn ich
$module_result.content_info.url_alias
einsetze, dann kommt aber nicht das gewuenschte /content/view/line/75 sondern die Aufloesung davon
folder1/folder2/cl06002
was dann nicht die View / das Module line anspricht.

Gibt es da etwas Sinnvolleres als $module_result.content_info.url_alias ? Dies habe ich von einem Beispiel.

Via $module_result.content_info|attribute('show',3)} habe ich auch Nichts sinnvolles gefunden.

gruss
fabian

PS: Wie kann man in diesem Forum Code hervorheben? Mit [code] klappte es nicht.

Felix Woldt

Bild Felix Woldt

Registriert seit: 31.01.2006

Beiträge: 353

Dienstag, 05. September 2006 11:38:20

Hallo Fabian,

code kanst du mit < code> </ code> hervorheben (ohne leerzeichen)

zur Mehrsprachigkeit von eZ publish:

- jedes contentobjekt kann mehre sprachversionen enthalten
- über ein Siteaccess wird die sprache gesetzt die angezeigt wird

#  site.ini.append.php

[RegionalSettings]
# welche sprache für die übersetzten variablen z.B. zurück für den i18n operator soll genutzt werden
Locale=ger-DE

# welche sprachversion der contentobjekte soll angezeigt werden
ContentObjectLocale=ger-DE

Du wolltest die sprache per url umschalten - mit der Variable "Locale" - so eine variante ist mir nicht bekannt
Wir machen das immer mit zwei siteaccessen 1. deutsch 2. englisch, beide haben das selbe designverzeichnis und unterscheiden sich eigentlich nur
in den Enstellungen der RegionalSettings
Dann brauchst du nur die url zu bauen, die auf das aktuelle siteaccess verweist.
Das hängt dann davon ab wie du eZ am laufen hast per host oder url matching.

Welche Variablen im Pagelayout verfügbar sind gibt in der doku von eZ:
http://ez.no/doc/ez_publish/techn...e_pagelayout/variables_in_pagelayout
z.B. {$uri_string} oder {$requested_uri_string}


Gruß Felix

http://www.jac-systeme.de - Individuelle WEB-Lösungen
--
http://www.CJW-Network.com/de - Developers united in eZ Publish
http://projects.ez.no/cjw_newsletter - eZ Publish Newsletter Lösung

Ulrich L.

Registriert seit: 22.08.2006

Beiträge: 16

Freitag, 08. September 2006 13:58:06

Es geht doch um den Code für die Sprachumschaltung, oder?

Ich mache das derzeit so (ein Beispiel):

<a href={concat('/index.php','/de/', $DesignKeys:used.url_alias)|ezroot}>German</a>


usw. für andere Sprachen.

Felix Woldt

Bild Felix Woldt

Registriert seit: 31.01.2006

Beiträge: 353

Freitag, 08. September 2006 14:33:11

Urlichs Bsp ist für de Matchtype "Url".
Have Ulrichs Bsp ein bisschen erweitert - zur besseren Verständnis:

<a href={concat('/index.php','/de/', $requested_uri_string)|ezroot}>Deutsch</a>
<a href={concat('/index.php','/en/', $requested_uri_string)|ezroot}>English</a>


de - siteaccess für deutsche Einstellungen
en - siteaccess für englische Einstellungen
...

Es stellt sich dann nur die frage ob man nicht bei Umschaltung einer sprache mit der startseite anfängt.
Unsere Erfahrung zeigt, dass deutsche und englishe inhalte nie gleich sind. Im englischen sind meist weniger Inhalte (bei unseren projekten).

<a href={concat('/index.php','/de/')|ezroot}>Deutsch</a>
<a href={concat('/index.php','/en/')|ezroot}>English</a>


Aber das ist Ermessenssache.

Gruß Felix

http://www.jac-systeme.de - Individuelle WEB-Lösungen
--
http://www.CJW-Network.com/de - Developers united in eZ Publish
http://projects.ez.no/cjw_newsletter - eZ Publish Newsletter Lösung

fabian schoen

Registriert seit: 28.07.2006

Beiträge: 21

Samstag, 09. September 2006 11:34:59

Tag

Dank an Felix und Ulrich.
Bin eben halt noch in der Lernphase.

Habe es nun folgendermassen geloest, da der Kunde will, dass man jede Seite direkt umschalten kann ohne dass man auf die Startseite kommt.

<a href={concat('/index.php','/de/', $requested_uri_string)|ezroot}>Deutsch</a>
<a href={concat('/index.php','/en/', $requested_uri_string)|ezroot}>English</a>


Da es sich hauptsaechlich um Produkte handelt, sind die "translatable" Attribute minim und werden dementsprechend uebersetzt.

gruss
fabian

Christian Rabus

Registriert seit: 15.06.2007

Beiträge: 15

Donnerstag, 21. Juni 2007 18:02:31

wenn ihr mehrere sprachversionen habt, wie sieht dann bei euch die ordner struktur aus?

muss ich lediglich ein 2.sitaccess erstellen, oder auch eine spezielle ordner struktur bauen?

Claudia Kosny

Registriert seit: 11.10.2006

Beiträge: 13

Donnerstag, 21. Juni 2007 23:44:36

Hallo

Die uebliche Antwort - das kommt darauf an...

Wenn jede Seite (bzw. jede Node) in jeder Sprache verfuegbar sein soll und das Design auch gleich ist, brauchst du nur einen neuen Siteaccess, um die Sprache zu aendern. Alle Siteaccesses benutzen den gleichen Designfolder und die Contentstruktur in der Datenbank bleibt auch gleich.

Wenn das Design (z.B. Bilder mit Text) nicht gleich ist, brauchst Du einen Designordner fuer jede Sprache. Dabei braucht nur einer dieser Designordner ein vollstaendiges Design zu enthalten, alle anderen Designordner enthalten nur die sprachspezifischen Aenderungen.
Bei den siteaccesses mit den unvollstaendigen Designordnern wird dann der sprachspezifische Ordner als Designordner und der vollstaendige Designordner als erster Fallback angegeben.

Ob man die Datenbankstruktur an die Mehrsprachigkeit anpassen muss, haengt zu sehr vom konkreten Inhalt ab. Wenn je nach Sprache total unterschiedlicher Inhalt ausgeliefert wird, wuerde ich fuer jede Sprache einen Ordner auf oberster Ebene anlegen und diesen Ordner als Einstiegsordner fuer den jeweiligen Siteaccess setzen. Wenn der Inhalt teilweise gleich ist, teilweise aber nicht, kann man einen Ordner fuer das sprachspezifische Zeug und einen Ordner fuer den gemeinsamen Inhalt anlegen. Oder man macht keine sprachspezifischen Ordner, sondern uebersetzt halt alle Nodes, die in allen Sprachen zur Verfuegung stehen sollen und deaktiviert die Anzeige von nicht uebersetzten Nodes in der site.ini. Da gibt es noch etliche andere Moeglichkeiten - letzten Endes musst Du selbst ueberlegen, was am besten zu deinem Content passt.

Viel Erfolg

Claudia

Christian Rabus

Registriert seit: 15.06.2007

Beiträge: 15

Freitag, 22. Juni 2007 11:12:07

Also das Design ist bei beiden Seiten gleich.

Hier ein paar Beispiele wo sich die Seite unterscheidet:

- Linknamen der Navi in der jeweiligen Sprache
- Content der Seiten in der jeweiligen Sprache (wenn z.b. PDFs zum Download angeboten werden, dann kann es sein dass es diese auch in 2 Ausführungen gibt)
- Sprachenumschalter soll wechseln zwischen Englisch und Deutsch (also wenn die englische Seite gezeigt wird, dass man dann auf einen Button klickt wo "Deutsch" draufsteht, und anders herum"
- etc.

Ich hab jetzt 2 Siteaccesses angelegt, einmal "de" und einmal "en". Hab auch schon die site.ini.append diesbezüglich bearbeitet. Außerdem bei meinem siteaccess für das admin hab ich die "SiteAccessList" auch angepasst.

Das Problem ist jetzt, wenn ich das pagelayout für "de" bearbeite, dann kann ich es nicht für "en" bearbeiten.... obwohl die siteaccesses auf den gleichen ordner zugreifen. Warum?

Problem gelöst!

T R

Registriert seit: 19.10.2007

Beiträge: 40

Freitag, 14. Dezember 2007 15:21:20

hallo,

wie hast du es denn gelöst?

ich habe eine andere struktur:
/siteaccess/site1
/siteaccess/site2
/siteaccess/site3

es gibt 3 verschiedene seiten mit 3 db´s

ich muss für site 3 die mehrsprachigkeit herstellen.
wie ist es dort mit der ordnerstruktur?

danke

spedimax spedimax

Registriert seit: 28.01.2009

Beiträge: 3

Freitag, 10. April 2009 10:48:47

Wäre es möglich dass die jeweilige benutzer von jeweiligen ländern automatisch in die richtige sprache landen!

Vielen Dank

Ekkehard Dörre

Ekkehard Dörre - coolscreen.de - Internet, Extranet, Intranet, ECMS, Enterprise Content Management System, eZ Newsletter, Webseiten, Komplettlösungen, Internetauftritte, Cross Media Workflow

Registriert seit: 27.01.2006

Beiträge: 12

Freitag, 10. April 2009 11:16:11

vielleicht hilft das hier weiter:


http://ez.no/de/developer/contribs/applications/ezgeolocalization

"With this extension you can determine from where country and where city the users of your website comes from by their IP address."

Schöne Grüße, ekke

http://www.coolscreen.de - enterprise internet

http://www.CJW-Network.com/de - Developers united in eZ Publish
http://cjw-network.com/de/cjw-newsletter-for-ez-publish - eZ Publish Newsletter Lösung

Um Zugang zu den Foren zu erhalten, müssen Sie angemeldet sein