WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

Ankündigung

WBCE CMS 1.6.9 verfügbar / available - wichtiges Sicherheitsudate / important security update

#1 11.04.2017 18:46:38

florian
Administrator

Cache- oder Sectionpicker-Problem

Ich verwende Itemz auf einer mehrsprachigen Website.
Die Itemz werden nur 1x hinterlegt (fr), auf der de- und en-Version lade ich Itemz mit dem SectionPicker-Droplet.

In den Einstellungen für die Itemz-Ausgabe sowie den  Item-Feldern Short3-6 rufe ich ein Droplet auf, das eigentlich je nach Seitensprache den richtigen Begriff ausgeben soll:

...
<em>[[tr?de=Programm&fr=Programme&en=Program&l=[LANGUAGE]]]:</em> [SHORT1]<br />
...

So sieht das Droplet aus:

if (!isset($de)) {$de='';}
if (!isset($fr)) {$fr='';}
if (!isset($en)) {$de='';}
$c ='<!-- '.$l.'-->';
switch (strtoupper($l)) {
case 'DE': $rv = $de;
break;
case 'FR': $rv = $fr;
break;
case 'EN': $rv = $en;
}
return $rv.$c;

D.h. auf der französischen Seite soll "Programme: xyz" erscheinen, auf der deutschsprachigen Seite hingegen "Programm: xyz".

Mein Problem ist jetzt, dass das mal funktioniert und mal nicht. Sprich, ich bin auf der de-Seite (die Seitensprache ist richtig eingestellt, das habe ich schon geprüft), an das Übersetzungsdroplet wird aber trotzdem FR übergeben und folglich erscheinen die frz. Begriffe.

Sobald im BE irgendwas an den Einträgen oder Einstellungen geändert wird, wird auf der Seite auf der man gerade ist, dann die richtige Sprache angezeigt, das wird dann aber auch auf alle anderen angewendet - will sagen: ich bin auf der en-Seite im Frontend, klicke im Backend proforma auf Speichern, aktualisiere die en-Seite; dann wird dort tatsächlich englisch als Sprache verwendet, aber leider auch auf den fr/de-Seiten.

Ich habe schon in der view.php von Itemz den Schalter $use_cache gefunden und auf  0 gesetzt, das hat aber keine augenscheinliche Änderung gebracht.
Das Problem tritt sowohl bei an WBCE angemeldeten als auch nicht-angemeldeten Benutzern auf.

Link kann ich nicht öffentlich posten, die Seite ist noch in Bearbeitung, schicke ihn aber gern per PM.

Ist der Cache hartnäckiger als vermutet, oder liegt es am Section Picker oder dem Aufruf eines Droplets im Droplets?

*Nachtrag: Passiert auch mit dem sectionpicker-Modul 0.26

Ich weiß, es ist exotisch und man muss meine Problembeschreibung sicherlich 3x lesen, um sie zu verstehen, aber:
Wie könnte ich das Problem lösen? Ich möchte ungern für jede Sprache einzeln einen Itemz-Abschnitt mit 80 Einträgen anlegen müssen.

Beitrag geändert von florian (11.04.2017 18:59:56)

Offline

#2 11.04.2017 19:28:43

kant
Mitglied

Re: Cache- oder Sectionpicker-Problem

Ich hab es bestimmt nicht so auf die schnelle verstanden  wink
puh ... warum nimmst Du nicht "language" im droplet "direkt"? ... also die Konstante LANGUAGE

if (!isset($de)) {$de='';}
if (!isset($fr)) {$fr='';}
if (!isset($en)) {$de='';}
$c ='\n<!-- '.LANGUAGE.' 	-->\n';

switch ( LANGUAGE ) {
	case 'DE': $rv = $de;
		break;
	case 'FR': $rv = $fr;
		break;
	case 'EN': $rv = $en;
		break;
	default:
		$rv = "uah ... no language match!";
}
return $rv.$c;

puh ... oder "fragst" alternativ das //Frontend//-Objekt? ( $wb )

global $wb;

if (!isset($de)) {$de='';}
if (!isset($fr)) {$fr='';}
if (!isset($en)) {$de='';}
$c ='\n<!-- '.$wb->page['language'].' 	-->\n';

switch ( $wb->page['language'] ) {
	case 'DE': $rv = $de;
		break;
	case 'FR': $rv = $fr;
		break;
	case 'EN': $rv = $en;
		break;
	default:
		$rv = "uah ... no language match!";
}
return $rv.$c;

Vorsicht - heisse Nadel - ungetestet  wink

Gruß
Kant


Sapere aude!

Offline

Liked by:

florian, stefanek

#3 11.04.2017 19:50:40

florian
Administrator

Re: Cache- oder Sectionpicker-Problem

Vielen lieben Dank. Mit LANGUAGE im Übersetzungs-Droplet tritt das Problem nicht mehr auf.

Offline

Fußzeile des Forums

up