Language Link

Alles rund um die Erstellung von Patches, Behebung von Bugs und Contributions
Benutzeravatar
Carrear
webEdition Partner
webEdition Partner
Beiträge: 646
Registriert: Do 17. Jan 2013, 03:02
Wohnort: Hannover
Kontaktdaten:

Language Link

Beitragvon Carrear » Mo 27. Jul 2015, 23:11

Hey Leute,

ich rufe immer mal wieder Inhalte auch dynamisch über ajax ab. Alles drum herum klappt ganz gut, aber es gibt ein Problem beim ersetzen des LanguageLinks, mit dem ich immer das jeweils korrespondierende Englische oder eben Deutsche Dokument verlinke.

Jetzt lasse ich unter anderem auch den Seitentitel dynamisch ersetzen. Es wird also via ajax ein PHP Dokument aufgerufen, welches über die per POST-Variable übergebene ID die Dokument-Variablen initialisiert und den Title ausgibt. Aber der Listview Language-Link lässt sich eben nicht auf eine bestimmte Dokumenten ID Beziehen. Ich habe es schon versucht indem ich einen normalen Listview mit der ID mache und DARIN den LanguageLink Listview. Da kommt allerdings nichts bei raus.

Ich habe jetzt als Workaround das Element en_GB ausgelesen. Das klappt vielleicht noch, solang ich nur zwei Sprachen pflegen muss. Über kurz oder lang muss ich aber eine Lösung finden die vom System unterstützt wird.

Habt ihr Vorschläge?

Viele Grüße
Martin

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Language Link

Beitragvon WBTMagnum » Di 28. Jul 2015, 00:25

Hey Martin,

Ich fürchte <we:listview type="languagelink" /> ist (zumindest derzeit) nicht für diesen Anwendungsfall ausgelegt. Du kannst ja mal einen Feature Request in der Bugbase machen. Meines Erachtens wäre es grundsätzlich schon sinnvoll die Möglichkeit zu haben das Dokument, für das die Sprachverknüpfungen abgefragt werden sollen, mit dem doc-Attribut angeben zu können.

Wirklich gute Alternativen wollen mir leider auch nicht einfallen. Du könntest nur probieren deine Dokumente auch als JSON anzubieten. Dh. über einen Parameter (z.B. jsononly=1) werden anstelle der Seite die Daten der Seite als JSON ausgegeben. Die Daten kannst du dann nach belieben verwursten.

Liebe Grüße,
Sascha

Benutzeravatar
Carrear
webEdition Partner
webEdition Partner
Beiträge: 646
Registriert: Do 17. Jan 2013, 03:02
Wohnort: Hannover
Kontaktdaten:

Re: Language Link

Beitragvon Carrear » Di 28. Jul 2015, 10:45

Hey Sascha,

ähnlich habe ich es schon für die generelle dynamische Abfrage der Inhalte gemacht (Übergabe eines Parameters). Führt natürlich dazu, dass meine Vorlagen über und über befüllt sind mit PHP Abfragen um die Container, die bei einer dynamischen Abfrage nicht nötig sind. Wenn ich das jetzt noch alleine für die Titel mache wird meine Master und die ganzen Untertemplates ziemlich unüberschaubar. Müsste mir mal Gedanken machen, wie eine sinnvolle, systemseitige Alternative aussehen könnte. Ich werde es bei Gelegenheit in die BugBase eintragen.

Viele Grüße
Martin

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Language Link

Beitragvon WBTMagnum » Di 28. Jul 2015, 11:09

Hallo Martin,

Stimmt, "leichter" werden die Templates dadurch natürlich nicht. Aber ich denke, wenn man das im Grundkonzept der Templates berücksichtigt, dann sollte sich das relativ elegant lösen lassen (z.B. mit <we:master />). Das im nachhinein einzubauen ist sicherlich mühsam.

Liebe Grüße,
Sascha

Benutzeravatar
Carrear
webEdition Partner
webEdition Partner
Beiträge: 646
Registriert: Do 17. Jan 2013, 03:02
Wohnort: Hannover
Kontaktdaten:

Re: Language Link

Beitragvon Carrear » Do 30. Jul 2015, 11:08

Argh ! Es klappt nicht. Irgendwie sind die abgefragten Daten veraltet (Ich habe die Ordner etc umbenannt) und aktualisieren sich auch nicht bei Rebuild und Neu-Indexierung.

Welche Möglichkeit habe ich denn über we_doc oder Ähnliches das korrespondierende Dokument herauszufinden? Die ID oder so reicht mir ja schon, ab da ist der Pfad ja ein leichtes.

Benutzeravatar
Carrear
webEdition Partner
webEdition Partner
Beiträge: 646
Registriert: Do 17. Jan 2013, 03:02
Wohnort: Hannover
Kontaktdaten:

Re: Language Link

Beitragvon Carrear » Do 30. Jul 2015, 11:27

Ich blicke leider im Tag selbst nicht durch. Irgendwo im Hintergrund muss das korrespondierende Dokument doch abgelegt sein? Also die Information dazu zumindest.

Benutzeravatar
Carrear
webEdition Partner
webEdition Partner
Beiträge: 646
Registriert: Do 17. Jan 2013, 03:02
Wohnort: Hannover
Kontaktdaten:

Re: Language Link

Beitragvon Carrear » Do 30. Jul 2015, 11:56

Ich habe es jetzt nach Betrachtung der DB wie folgt gelöst:

Code: Alles auswählen

	$db = new DB_WE();
	$db->query("SELECT LDID FROM tblLangLink WHERE DID = '".$doc->ID."'");
	while ($db->next_record()) {
		$langDocId =  $db->f("LDID");
	}
	
	$langDoc = new we_webEditionDocument();
	$langDoc->initByID($langDocId);
	$langPath = $langDoc->Path;
Haltet mich bitte auf dem laufenden, damit ich das ggf. aktualisieren kann. Ich halte das nur für eine Übergangslösung.


Zurück zu „Patches, Bugs und Contributions“

Wer ist online?

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