Hallo,
Nachdem hier das Thema der Sprachumstellung bei eingebetteten Spreadshops schon thematisiert wurde, habe ich einen neuen Ansatz, bei dem ich aber auch nicht ganz weiterkomme.
Mein Lösungsansatz ist der locale-Wert im JS beim Einbetten des Shops. Ich habe bereits geschafft, den Wert (de_DE, en_EN…) durch eine Variable (var_ort) zu ersetzen und diese an einer anderen Stelle der Website zu definieren:
<div id = "myShop"></div>
<script>
var spread_shop_config = {
locale: var_ort
.
.
.
};
</script>
</script>
<script type="text/javascript" src="https://shop.spreadshirt.de/shopfiles/shopclient/shopclient.nocache.js">
</script>
Bei Klick auf den Button “England” soll die Variable var_ort auf “en_EN” gesetzt werden:
<a href="javascript:MyFunction();">England</a>
<script type="text/javascript">
var var_ort="de_DE"; /* Deutsche Sprache als Standard eingestellt */
function MyFunction() {
test="en_EN"; /*bei Klick auf "England" wird v
$("#myShop").load(" #myShop");
}
</script>
Das funktioniert auch, die Variable nimmt den Wert an, aber der Shop aktualisiert sich nicht. Mit dem jQuery-Befehl $("#myShop").load(" #myShop"); will ich das Neuladen erzwingen, aber dann baut sich der Shop nicht mehr auf, sondern ich sehe nur den Link-Shop, der normalerweise nur kurz beim Laden des Shops erscheint.
Gibt es eine Lösung, wie man den Spreadshop neu rendern / laden kann, damit Änderungen am JS sichtbar werden?