WBCE CMS – Way Better Content Editing.
Du bist nicht angemeldet.
WBCE CMS 1.6.9 verfügbar / available - wichtiges Sicherheitsudate / important security update
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
Ich hab es bestimmt nicht so auf die schnelle verstanden
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
Gruß
Kant
Sapere aude!
Offline
florian, stefanek
Vielen lieben Dank. Mit LANGUAGE im Übersetzungs-Droplet tritt das Problem nicht mehr auf.
Offline