Neu Plugin englische Sprachvariablen greifen nicht im Shop

ive_2019

Aktives Mitglied
13. September 2019
11
0
Hallo Zusammen,

wir haben ein grundsätzliches Problem mit der Zweisprachigkeit und den Plugins. In der Pluginverwaltung können wir die Sprachvariablen für Englisch deklarieren und speichern. Im Shop selbst wird diese Änderung dann aber nicht angezeigt, sobald wir die Sprache ändern. Verändern wir die Werte der deutschen Variablen, wird dies übernommen.
Woran könnte dies liegen? Der Cache wird nach den Änderungen gelöscht. Dieses Problem tritt auch bei Plugins auf, die nicht mit dem IonCube verschlüsselt sind.
 

ive_2019

Aktives Mitglied
13. September 2019
11
0
Nein, das haben wir nicht. Ich habe auch bereits versucht, ein Plugin zu deinstallieren und wieder zu installieren. Leider auch ohne Erfolg.
 

NETZdinge.de

Sehr aktives Mitglied
7. April 2010
2.117
282
Ich hatte das mal in einem Plugin. Da hatte ich nicht für jeden Eintrag der Sprachvariablen eine englische Übersetzung angegeben. Da hatte ich auch das Problem. Eventuell ist es ja auch hier der Fall. Da am besten einmal in die Info.xml schauen, ob da eben für jeden lokalen Eintrag auch alle Sprachen dabei sind oder nicht bei einem eventuell eine Sprache fehlt.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.639
1.583
Berlin
wir haben ein grundsätzliches Problem mit der Zweisprachigkeit und den Plugins. In der Pluginverwaltung können wir die Sprachvariablen für Englisch deklarieren und speichern. Im Shop selbst wird diese Änderung dann aber nicht angezeigt, sobald wir die Sprache ändern. Verändern wir die Werte der deutschen Variablen, wird dies übernommen.
Woran könnte dies liegen? Der Cache wird nach den Änderungen gelöscht. Dieses Problem tritt auch bei Plugins auf, die nicht mit dem IonCube verschlüsselt sind.

Wenn Ihr mit einem Hook arbeitet, der früher feuert als der Shop weiß um welche Sprache es geht, dann kommt es zu diesem Problem, ich hab das vor ewigen Zeiten mal gemeldet.

Darum führe ich wenn es Probleme gibt, im 140er Hook dies hier aus, testet mal ob das bei euch etwas bringt:

Code:
        if (isset ( $_SESSION['cISOSprache'] )) {
            $oPlugin->oPluginSprachvariableAssoc_arr = \gibPluginSprachvariablen ( $oPlugin->kPlugin, $_SESSION['cISOSprache'] );
        }
 

ive_2019

Aktives Mitglied
13. September 2019
11
0
Darum führe ich wenn es Probleme gibt, im 140er Hook dies hier aus, testet mal ob das bei euch etwas bringt:

Code:
        if (isset ( $_SESSION['cISOSprache'] )) {
            $oPlugin->oPluginSprachvariableAssoc_arr = \gibPluginSprachvariablen ( $oPlugin->kPlugin, $_SESSION['cISOSprache'] );
        }

Moin,
vielen Dank für die schnelle Antwort. Wo genau trägst du den Code ein? Ich habe ihn der public function __outputFilter in der class.JTL- Shop.JTLSmarty.php hinzugefügt und leider keine Veränderung festgestellt. Allerdings haben wir das Problem auch nicht nur mit Plugins, die 140 nutzen, sondern auch 131 und 132
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.639
1.583
Berlin
Ich mache das direkt wenn ich in den Hook springe als erste Aktion.
Das was ich geschrieben habe passiert aber nur wenn du ein Plugin hast, das vor dem HOOK_CORE_SESSION_CONSTRUCTOR feuert.
denn erst nachdem dieser Hook vorbei ist, weiß dein Plugin mit welcher Sprache es zu tun hat.

Das hier ist die Reihenfolge der Hooks die verwendet wird wenn ich einen Artikel aufrufe.
Alles vor 156 kennt keine Sprache, also bist du mit deinem 131er angeschi...n und musst dir was einfallen lassen, denn erst nach dem 156er Hook könntest du meine Lösung verwenden.

Code:
131
156
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
211
221
221
226
133
142
143
132
166
214
214
214
69
69
221
104
104
104
124
123
103
60
58
59
68
113
114
115
110
104
104
104
221
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
219
120
101
221
57
221
107
104
104
104
104
124
123
104
124
104
124
123
104
124
103
60
58
59
68
110
221
104
104
104
124
104
124
104
124
103
119
104
60
58
59
68
110
204
175
221
104
104
221
104
104
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
91
104
91
104
91
104
91
104
91
104
91
104
109
99
221
208
208
208
208
208
208
208
208
70
1
208
208
208
208
208
208
208
208
208
208
208
120
221
221
208
208
208
120
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
180
208
208
208
208
208
208
208
208
140
208
208
208
208
208
131
156
221
226
133
214
213
208
 

ive_2019

Aktives Mitglied
13. September 2019
11
0

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.639
1.583
Berlin
Die Frage ist warum du den Hook HOOK_GLOBALINCLUDE_INC brauchst, der Hook übergibt ja nichts, also könntest du ja theoretisch auch den HOOK_CORE_SESSION_CONSTRUCTOR nehmen, der kommt ja fast sofort danach.
 

ive_2019

Aktives Mitglied
13. September 2019
11
0
Die Plugins kommen von extern und sind teilweise verschlüsselt. Da dies bei mehreren Plugins auftritt, war die Frage, ob es generell Schwierigkeiten mit der Zweisprachigkeit bei Plugins gibt. Quelloffene Plugins haben eine andere Sprachvariable erhalten, sodass wir diese direkt im Shopbackend ändern können und nicht in der pluginverwaltung.
 

ronzei

Aktives Mitglied
8. Juli 2021
64
4
Ab Version 5.1 ist das sehr schön gelöst, im Template kann jede Sprachvariable aus der info.xml einfach aufgerufen werden mittels:

Code:
{lang key="name_der_sprachvariable" section="plugin_id"}

Das sollte IMHO eigentlich immer funktionieren, oder?
 

ronzei

Aktives Mitglied
8. Juli 2021
64
4
Liebe JTL,

irgendwo hakt es dennoch mit der Sprache.

Selbst wenn ich in die config.JTL- Shop.ini.php eintrage

Code:
$_SESSION['cISOSprache'] = 'eng';

Wird mir das vom Shop core überschrieben und ein Plugin nimmt nicht die englische Übersetzung sondern die
Code:
shopDefault
bzw
Code:
default
Sprache, wobei die Seite selbst (wie beabsichtigt) in Englisch geladen wird.

Wie und wo kann ich das eintragen, damit auch das Plugin die richtige Sprache nimmt?

Danke,
Gruß ronzei
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.639
1.583
Berlin
irgendwo hakt es dennoch mit der Sprache.

Selbst wenn ich in die config.JTL- Shop.ini.php eintrage
Ist ja auch der denkbar schlechteste Ort und sollte "umgehend" wieder entfernt werden.

Das hier wäre in einem 5er Shop der Weg den ich gehe

Code:
im 140er Hook 

self::$_plugin ist hier die Referenz von $oPlugin

$aLang = Helper::getLanguageVariablesByID(self::$_plugin->getID(), $_SESSION['cISOSprache']);
foreach($aLang as $key => $val) {
    $smarty->assign($key, $val);
}
 

ronzei

Aktives Mitglied
8. Juli 2021
64
4
Ich habe für das Problem auch ein Ticket aufgemacht: https://issues.jtl-software.de/issues/SHOP-5733
Habt ihr noch Anmerkungen dazu?

Ja:
Anscheinend greift
Code:
{lang key="name_der_sprachvariable" section="plugin_id"}

manchmal unterschiedlich zu:

Code:
$this->_translations = $plugin->getLocalization()->getTranslations();
Shop::Smarty()->assign ('myPluginTranslation', $this->_translations );

Das ich im Hook 99 ausführe
und wo ich im Template dann mittels:

Code:
{$myPluginTranslation->string_x}

die richtige Übersetzung bekomme. (im Gegensatz zur neuen lang/key von oben)

Im Hook 99, da das vom Kollegen css-umsetzung vorgeschlagene Vorgehen im Hook 140 bei mir anscheinend oft "zu spät kommt" d.h. die Variable erscheint nicht im Plugin-Template
 

ronzei

Aktives Mitglied
8. Juli 2021
64
4
Das ist doch dasselbe Problem?
getLocalization() wird dir nach einem Sprachwechsel immer die veralteten Sprachvariablen zurückgeben.
Nein, offenbar nicht.
getLocalization() bringt mir die richtige, aktuelle Sprachvariable

{lang key="name_der_sprachvariable" section="plugin_id"}
die Falsche

Interessanterweise bringt der Dropper immer die richtige, aktualisierte Sprachvariable.


eingepflegt. Hat jetzt keine Auswirkungen bei mir gezeigt.

Sobald einmal irgend ein Artikel oder eine Seite gewählt wird, werden in der Folge alle Übersetzungen richtig gezeigt.

Speziell bei mir geht es aber um das Laden der Startseite mit (testweise gesetztem) $_SESSION['cISOSprache'] = 'eng';
das nicht greift, bzw. wo durch irgendeine Funktion das $_SESSION['cISOSprache'] abgeändert wird, wo dann das Menü mit den Kategorien und die Seite selbst schön in Englisch kommt.

Aber alles was über Sprachvariablen daherkommt (z.B. Umsatzsteuerhinweis im Footer) deutsch bleibt.
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.359
340
Halle (Saale)
Du kannst nicht einfach $_SESSION['cISOSprache'] auf irgendeinen Wert setzen und dann erwarten, dass irgendwas funktioniert.. Sprachwechsel bedeutet komplexe Abhängigkeiten und Logiken.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Neues Plugin: Google Translate / Übersetzer (DSGVO-konform und weitere Features) Plugins für JTL-Shop 1
Neu Händlerbund Plugin lässt sich nicht installieren Shop ver. 5.3.0 Plugins für JTL-Shop 1
Neu Eigene Seiten mit Plugin erstellen Technische Fragen zu Plugins und Templates 0
Neu Neues Plugin: Instagram-Feed Portlet (Als Galerie- oder Slideransicht und weitere Features) + 3x kostenlose Lizenzen Plugins für JTL-Shop 3
Neu 🌟Neues Plugin: Bounce Landingpage Plugins für JTL-Shop 5
Neu 504 Gateway Time-Out nginx bei Plugin-Updates Gelöste Themen in diesem Bereich 10
Neu Unterstützung bei JTL5-Shop-Überarbeitung gesucht - Template/Plugin uvm. Dienstleistung, Jobs und Ähnliches 1
Neu Erledigt - Plugin PayPal Checkout, Update auf 1.4.0, Komplettabsturz Plugins für JTL-Shop 1
Neu Paypal Plugin erzeugt "Quirks Mode" Betrieb / Pflege von JTL-Shop 0
Neu Mail-Versand & Plugin Doku Technische Fragen zu Plugins und Templates 2
Neu Variationen im Shop Auswahl zurücksetzen (Plugin?) Betrieb / Pflege von JTL-Shop 3
Neu NEU ✔️ PDF-Angebots-Plugin für den JTL-Shop 5 - PDF Angebote von der Produktseite oder aus dem Warenkorb heraus generieren B2C / B2B Plugins für JTL-Shop 5
Neu Neues Plugin: Hersteller Slider Portlet (Zentrierungs- oder Schwarz/Weiß-Modus, Responsive Anpassung..) inkl. 5 kostenlosen Lizenzen Plugins für JTL-Shop 4
Neu Plugin KBA Finder Implementierung/Darstellungsänderung Plugins für JTL-Shop 0
Neu Custom Template für Custom Artikel mit Plugin? Plugins für JTL-Shop 0
Neu JTL Connector Plugin Aktivierunf [Fehlermeldung] WooCommerce-Connector 1
Neu Erfahrung mit LS-Cache Plugin Technische Fragen zu Plugins und Templates 10
Neu 🌟Neues Plugin: FRASPY Altersprüfung & IdentitätsCheck Plugins für JTL-Shop 3
Neu 🎉 Neues Plugin: "Versandkosten und Lieferzeit automatisch beziehen - UPS Extension" 🎉 Plugins für JTL-Shop 2
Neu Neues Plugin: Formular Portlet (Drag&Drop Dateiupload by FilePond, Kontakt, Retoure, Reklamation, Gewerbenachweis..) Plugins für JTL-Shop 10
Neu Neues Plugin - Solar Steuerfrei (Mehrwertsteuerbefreiung nach §12 Abs. 3 UStGt für Solar- und Photovoltaikanlagen) Plugins für JTL-Shop 8
Neu Plugin Mail senden - Cc / Bcc Technische Fragen zu Plugins und Templates 4
Neu [Gelöst] IT Rechtskanzlei AGB Plugin Fehler "Plugin wurde nicht gefunden" Plugins für JTL-Shop 4
Neu neues Paypal-Checkout (plugin) verhindert Bestellung - keine Zahlungsarten angezeigt (hängt) Betrieb / Pflege von JTL-Shop 8
Neu Problem mit Plugin-Aktivierung und WooCommerce-Kompatibilität WooCommerce-Connector 2
Neu CiN TrackID-Import Plugin User helfen Usern - Fragen zu JTL-Wawi 12
Englische Artikelbezeichnung in einem Workflow JTL-Wawi 1.7 0
Neu Sprachvariablen nicht in korrekter Groß- und Kleinschreibung JTL-Shop - Fehler und Bugs 4
Neu Fehlende Sprachvariablen Link bei Übernahme der Texte in der Kategoriebeschreibung JTL-Wawi - Fehler und Bugs 1

Ähnliche Themen