Wie "PageLanguage" auf Objekt-Detailseiten per PHP ändern?

Hier können Sie Fragen bezüglich des Datenbank-/Objektmoduls stellen.
Creutzburg
Senior Member
Beiträge: 425
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Dresden
Kontaktdaten:

Wie "PageLanguage" auf Objekt-Detailseiten per PHP ändern?

Beitragvon Creutzburg » Di 24. Apr 2012, 15:59

Wir erstellen gerade eine Website, bei der wir intensiv von <we:ifPageLanguage> Gebrauch machen - ist eine wirklich schöne Erweiterung für WebEdition, vor allem im Zusammenhang mit sprachabhängigen Listviews.

Nun haben wir gerade das Problem, dass wir auch eine Objektklasse mit Objektdetailseite verwenden - es sind technische Daten zu Tagungsräumen, die wir ungern doppelt halten wollen. Nun kann ja ein Objekt leider nur eine Sprache bekommen, d.h. auch bei Anzeige des Objekts im englischen Workspace spuckt auf der Detailseite das PageLanguage-Tag immer noch "de_DE" aus.

Gibt es eine Möglichkeit, die von WebEdition ermittelte PageLanguage nachträglich mit PHP zu überschreiben? Dann könnten wir bei Objekt-Detailseiten über den Workspace klären, ob sie gerade im en- oder im de-Pfad angezeigt werden. Wenn im en-Pfad, würden wir gern mit "PageLanguage = "en_GB" (grob gesagt) arbeiten, sodass man den weiteren Tags dann "vorgaukeln" könnte, dass sie es mit einem englischen Objekt zu tun haben.

Anders gefragt: woher holt sich <we:ifPageLanguage> die Info, welche Sprache gerade aktiv ist?

Dank & Gruß,
Alex
http://www.xport.de – Internet-Agentur für Hotels
http://www.domainpreisvergleich.de – Domain-Preisvergleich inkl. Verfügbarkeits-Check – ist meine Wunschdomain noch frei, und wo registriere ich sie am günstigsten?

Benutzeravatar
Paladin
Senior Member
Beiträge: 363
Registriert: Mi 10. Feb 2010, 15:11
Kontaktdaten:

Re: Wie "PageLanguage" auf Objekt-Detailseiten per PHP änder

Beitragvon Paladin » Di 24. Apr 2012, 16:22

Naja, PageLanguage holt sich die Sprache aus dem Dokument, für mich klingt es so, als suchst du
<we:ifObjectLanguage>
http://webedition.org/de/webedition-cms ... ctlanguage

Creutzburg
Senior Member
Beiträge: 425
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Dresden
Kontaktdaten:

Re: Wie "PageLanguage" auf Objekt-Detailseiten per PHP änder

Beitragvon Creutzburg » Di 24. Apr 2012, 16:30

Naja, wenn ich das Objekt unter "Eigenschaften" auf englisch umstelle, dann greift da auch ifPageLanguage und zeigt mir die englischen Infos.

Wie gesagt, das ganze passiert auf einer Objekt-Detailseite mit SEO-Url, nicht in einer Objekt-Listview.

Ist ifObjectLanguage nicht nur für ein mittels <we:object> eingebundenes Objekt gedacht?

Gruß,
Alex
http://www.xport.de – Internet-Agentur für Hotels
http://www.domainpreisvergleich.de – Domain-Preisvergleich inkl. Verfügbarkeits-Check – ist meine Wunschdomain noch frei, und wo registriere ich sie am günstigsten?

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Wie "PageLanguage" auf Objekt-Detailseiten per PHP änder

Beitragvon mokraemer » Di 24. Apr 2012, 17:40

Hi,
ich habs nicht getestet, aber eigentlich sollte das auch bei einem we:object klappen.
Falls dem nicht so ist, dann bitte einen Bug-Report aufmachen.
webEdition-Kern-Entwickler

Creutzburg
Senior Member
Beiträge: 425
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Dresden
Kontaktdaten:

Re: Wie "PageLanguage" auf Objekt-Detailseiten per PHP änder

Beitragvon Creutzburg » Di 24. Apr 2012, 17:52

Ähm, es geht ja bei uns nicht um ein we:object.

Wir arbeiten ja mit einer ganz normalen Objekt-Detailseite, d.h. ein Template, das wir bei der Objektklasse für einen Arbeitsbereich definiert haben.

In dem Template selbst arbeiten wir ja nicht mit we:object.

Die Frage ist ja - und das wird vermutlich bei Dokumenten ähnlich sein -, woher holt sich <we:ifPageLanguage> die aktuelle Sprache des Dokuments/Objekts, und ist dieser Wert zur Laufzeit (quasi ganz am Anfang des Templates) auch per PHP veränderbar?

Dank & Gruß,
Alex
http://www.xport.de – Internet-Agentur für Hotels
http://www.domainpreisvergleich.de – Domain-Preisvergleich inkl. Verfügbarkeits-Check – ist meine Wunschdomain noch frei, und wo registriere ich sie am günstigsten?

ThomasGoebe

Re: Wie "PageLanguage" auf Objekt-Detailseiten per PHP änder

Beitragvon ThomasGoebe » Di 24. Apr 2012, 18:40

Hallo Alex,

ifPageLanguage greift schon auf die in den Eigenschaften eingestellte Sprache des Objekts/Dokuments zu. Ist ja auch sinnvoll ;-)

webEditions Ansatz für mehrsprachige Seiten ist einfach nach dem Prinzip "je Sprache ein Dokument / Objekt" aufgebaut. Du könntest noch so vorgehen, dass Du die Dinge, die in allen Sprachen gleich sind, in eine extra Klasse auslagerst und diese Objekt dann wiederum als Objektfeld in den einzelnen Sprachversionen zuweist. Nicht elegant in der Pflege, aber so musst Du die Dinge nur einmal anlegen.

Gruß
Thomas

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Wie "PageLanguage" auf Objekt-Detailseiten per PHP änder

Beitragvon mokraemer » Di 24. Apr 2012, 19:08

sorry Alex, hab das Posting nicht ganz gelesen.

Aber wo wir gerade bei Mehrsprachigkeit sind:
die Verlinkung zw. den Dokumenten ist bis 6.2.6 fehlerhaft. In 6.2.7 kam noch ein Fix dazu der einiges richtet. Mein letzter Stand ist, das erst in der 6.3 das Problem vollständig gefixt ist.
Wenn ihr also was neu aufbaut, dann mußt ihr bei älteren Versionen leider mit Problemen rechnen. Bzw. es ist möglich das beim Update ein paar Verknüpfungen verschwinden.
webEdition-Kern-Entwickler

netzlum
webEdition Partner
webEdition Partner
Beiträge: 330
Registriert: Mi 28. Apr 2004, 00:27
Wohnort: Münster
Kontaktdaten:

Re: Wie "PageLanguage" auf Objekt-Detailseiten per PHP änder

Beitragvon netzlum » Do 20. Mär 2014, 22:52

Hallo zusammen,
ich möchte das Thema noch mal wieder aufwärmen. Ich suche nach einer Lösung für das gleiche Problem: Bei der Objektdarstellung im Arbeitsbereich bekommt das "Triggerdokument" die Sprache des Objektes. Damit lässt sich der Ansatz zwei Sprachen in einem Objekt zu verwalten (wofür Objekte ja ganz gut geeignet wären) nur mühsam realisieren. Den Ansatz, für die gemeinsamen Daten beispielsweise englischer und deutscher, in vielen Bereichen identischer Objekte eine zweite Klasse anzulegen kann ich den Kunden nicht vermitteln. Die wollen weniger und nicht mehr Objekte.

Gibt es nicht doch eine Möglichkeit, pagelanguage des Objektes durch die pagelanguage des Triggerdokumentes zu überschreiben?

@Thomas: Bei Objekten kann ich den Ansatz, für jede Sprache ein Objekt nicht wirklich nachvollziehen, denn die sind ja gerade gedacht für die Verwendung an verschiedenen Stellen in der Site.

Denkbar wäre da ja vielleicht auch eine Auswahlmöglichkeit -> Sprache des darstellenden Dokumentes oder Sprache des Objektes zu verwenden.

Ludger
----
ludger müller
gestaltung für bildschirm und papier aus münster in westfalen
bureau.artbeit.de
-----
Gründungsmitglied im webEdition e.V.

Benutzeravatar
igma
Member
Beiträge: 53
Registriert: Mi 4. Mär 2009, 16:10

Re: Wie "PageLanguage" auf Objekt-Detailseiten per PHP ändern?

Beitragvon igma » Do 17. Mär 2016, 00:31

Auch wenn zwei Jahre alt, muss ich davon ausgehen, dass es hier noch keine Lösung gibt.
Die würde ich allerdings gerade auch dringenst brauchen...

e_herrmann
Senior Member
Beiträge: 1319
Registriert: Do 22. Mai 2003, 23:25

Re: Wie "PageLanguage" auf Objekt-Detailseiten per PHP ändern?

Beitragvon e_herrmann » Do 17. Mär 2016, 09:11

naja, funktionieren sollte das schon. Du musst dafür die automatischen Wege der Objektdarstellung verlassen. D.h. du darfst die Objekte nicht per we_objectID aufrufen.
Dafür musst du dir in den Listviews Links mit eigenen Parametern bauen, die du dann in we:object lädst.
Wenn du das so machst, sollte immer die Sprache des Anzeigedokuments aktiv sein.
Dabei musst du dann auf Komfortfunktionen wie seoUrls und we:pageLanguage verzichten. Aber die funktionieren die diesem Szenario eh nicht.

Grüße Elko
Elko Herrmann
komplexx | internet.fotografie
web: http://www.komplexx.de

ramon
webEdition Partner
webEdition Partner
Beiträge: 109
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Weimar
Kontaktdaten:

Re: Wie "PageLanguage" auf Objekt-Detailseiten per PHP ändern?

Beitragvon ramon » Do 17. Mär 2016, 09:38

@igma: Ich habe mir für jede Sprache (de,en,fr) einen Objekt Ordner angelegt und dieser bekommt die entsprechende Sprache und das Dokument für die Darstellung zugeordnet.

Danach habe ich erst alle Objekte für eine Sprache angelegt und diese dann immer für die beiden anderen Sprachen kopiert. Mit dem Button Sprache übertragen wird die Sprache auf alle Objekte im Ordner übertragen. Um das ganze dann noch völlig perfekt zu machen kannst du jetzt noch jedem Objekt das passende Objekt der anderen Sprache zuordnen.

Auf der Übersichtsseite wird die Sprache der Seite im Listview geprüft und die entsprechenden Objekte ausgegeben.

<we:listview type="object" rows="6" classid="3" categoryids="$catID" catOr="true" languages="top">

Funktioniert SUPER mit WE 6.4.4!
Dateianhänge
screen.JPG
screen.JPG (222.92 KiB) 5729 mal betrachtet
bindestrich - media.
http://www.bindestrich.com
Agentur für Grafikdesign & Webdesign

AndreasWitt

Re: Wie "PageLanguage" auf Objekt-Detailseiten per PHP ändern?

Beitragvon AndreasWitt » Do 17. Mär 2016, 12:38

... in webEdition 7 kann man das jetzt auch komfortabel über die Content-Varianten lösen.

e_herrmann
Senior Member
Beiträge: 1319
Registriert: Do 22. Mai 2003, 23:25

Re: Wie "PageLanguage" auf Objekt-Detailseiten per PHP ändern?

Beitragvon e_herrmann » Do 17. Mär 2016, 12:58

@Andreas: unterstützen die denn dann auch eigene Sprachen für die Varianten?
Elko Herrmann
komplexx | internet.fotografie
web: http://www.komplexx.de

AndreasWitt

Re: Wie "PageLanguage" auf Objekt-Detailseiten per PHP ändern?

Beitragvon AndreasWitt » Do 17. Mär 2016, 14:03

@Elko: jaein, man kann zwar mit der Lösung nicht mit <we:pageLanguage/> arbeiten, aber in Kombination mit <we:ifHasVariant/> und dem Variantennamen, der dann z. B. DE oder EN lautet lassen sich weiterhin Sprachspezifika wie mit <we:pageLanguange> abbilden.


Zurück zu „DB-/Objektmodul“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste