Jump to content
Heisenberg

[gelöst] Geo IP - Geotargeting Bug Währung / Sprache

Recommended Posts

Hallo zusammen,

 

bei meinem Anliegen geht es vermutlich um einen Bug.

Ich habe in meinem Shop Geotargeting aktieviert und wollte für bestimmte Länder die Währung über Geotargeting ändern. In meinen Shop ist die Standardwährung Doller und die standard Sprache Deutsch. Als Zweitwährung habe ich Euro eingestellt.

 

Jetzt zum Bug, wenn man mit einer deutschen IP auf den Shop geht wird Doller als Währung angezeigt, sobald man die Seite neu läd oder auf eine andere/Unterseite Seite geht stellt sich die Währung auf Euro um und bleibt auch so.

 

So jetzt die frage, wieso wird beim ersten Seitenaufruf nicht gleich die Währung richtig eingestellt? Liegt das vielleicht an dem Theme (hab standard Theme an) oder flasche Einstellungen im Shop?

 

Und gleich die zweite Frage :) wenn der Shop schon erkennt aus welchem Land man kommt, wieso stellt er nicht automatisch die Sprache mit um? Oder habe ich da eine Einstellung übersehen?

 

Liebe Grüße,

Heisenberg

 

Edit:

LÖSUNG: http://www.prestashop.com/forums/index.php?/topic/238885-geo-ip-geotargeting-bug-wahrung-sprache/page__view__findpost__p__1183030

Edited by Heisenberg (see edit history)

Share this post


Link to post
Share on other sites

GEOIP hat nichts mit der Währung zu tun. GEOIP ist lediglich gedacht, um bestimmte Länder auszusperren, entweder komplett zur Anzeige oder einen Kauf verhindern.

 

Grundsätzlich wird der Shop mit der Währung angezeigt, die als Standard angegeben wurde. Geotargeting kannst du hierfür nicht mißbrauchen, da die Logik komplett getrennt voneinander läuft und eben das Feature für so etwas nicht vorgesehen ist.

Share this post


Link to post
Share on other sites

Danke für die Antwort.

 

Wieso wird dan trotzdem automatisch die Währung geändert wenn man mit einer deutschen IP den Shop besucht?

Ich hab das mal gecheckt und Webproxy aus verschieden ländern den Shop aufgerufen, nur bei den deutschen Proxies ist die Währung umgesprungen.

 

Wenn das nicht über Geotargeting läuft dann muss es ja über Browser daten laufen (was das mit den Proxies nicht erklärt).

Wo findet man im Code diese stelle?

Share this post


Link to post
Share on other sites

Hat mit der Funktion Geotargeting nichts zu tun.

 

Prestashop erkennt von welcher IP aus zugegriffen wird. Ist dein Shop in DE angesiedelt und du hast als Standard Dollar eingestellt, so wird der Shop immer Dollar anzeigen. Es ist ein Zusammenspiel (wo der Shop eingerichtet ist . Lokalisierung die du angegeben hast bei der Installation - und die Standardeinstellungen die du hierfür vorgenommen hast.

 

Greifst du mit einer anderen IP ab, dann erkennt PS das Land und stellt es automatisch nach den Regeln die fix einprogrammiert sind um. Es ist eine Art Geotargeting, aber nicht diese, was du meinst...

Share this post


Link to post
Share on other sites

Auch egal darum gehts auch nicht wie er es im endeffect macht... den er macht es.

Das Problem liegt darin das er es nicht beim ersten Seitenaufruf macht sondern erst beim 2ten und da muss ein Bug sein...

Share this post


Link to post
Share on other sites

Sorry, ich kann dir da nicht weiterhelfen. Ich habe dir die Funktionsweise erklärt, du mißbrauchst sie. Man muss zunächst verstehen wie Prestashop's Logik aufgebaut ist, um dann eigene Anpassungen durchzuführen.

Obendrauf nutzt Prestashop einige Cookie-Sessions, auch diese spielen eine große Rolle was angezeigt wird.

 

Leere ab und an deinen Browser-Cache und Cookie-Sessions des Browsers, damit du eine korrekte Anzeige bekommst. Löst zwar nicht dein Problem, aber auf dem Weg, wie du es umsetzen möchtest, funktioniert es nicht. Da muss man am Code herumfuschen, was ich dir aber nicht empfehle, weil man da woanders Baustellen aufreißt.

Wenn sich ein Coder das Problem annehmen möchte und dir einen Hack nennt, dann geht das auf deine Kappe. Den Core sollte man tunlichst nicht verändern.

Share this post


Link to post
Share on other sites

Ich bin übrigens Webdeveloper ;) Hab auch ganz genau eine Ahnung was ich da mache und habe auch langsam die Logik des System verstanden.

 

So um jetzt nochmal das hier richtig darzustellen, Geotargeting ist vielleicht nicht die funktion die dafür sorgt, aber durch die eingeladene GeoIP Datei für Geotargeting wird dafür gesorgt das per IP die richtige Währung für das richtige Land eingestellt wird. (Welche ich natürlich vorher vorgegeben habe in "Lokalisierung > Länder")

 

Hab das gerade über Proxies und verschiedene Browser Spracheinstellungen auf Herz und Nieren getestet.

Es wird 100% über Geo-IP die richtige Währung ermittelt.

 

Naja ich versuche es mal im englischen Forum vielleicht lesen da andere Programmierer mit.

Edited by Heisenberg (see edit history)

Share this post


Link to post
Share on other sites

Ich möchte hier nochmals etwas klarstellen: das Feature Geotargeting hat nichts mit dem Feature Geo-IP zu tun.

 

Geotargeting ist für den Zugang zum Shop bestimmter Länder zuständig.

 

Prestashop arbeitet jedoch mit GEOIP für Sprache und Währung intern auf einer eigenen Ebene. Hast du die DB von Maxmind nicht installiert und Geotargeting nicht aktiviert, arbeitet GEOIP, welches auf das Feature Lokalisierung basiert trotzdem korrekt.

Share this post


Link to post
Share on other sites

Sorry CD2500,

da muss ich widersprechen. Prestashop hat es zum Glück hinbekommen die Währung nach Ländern definieren zu können. Wenn man unter Countries (PS 1.4.x) nachschaut, kann ich die Standard Währung für ein Land festlegen. Das ist m.E. auch nur mit der Geotargeting Funktion realisierbar. Anders könnte PS ja nicht wissen aus welchem Land der Besucher kommt. Schau dir z.B. diese Antwort hier an http://www.prestashop.com/forums/index.php?/topic/1708[spam-filter]geolocation-to-show-the-currency-as-per-the-visitors-country/page__view__findpost__p__1175994

Ich gebe zu das die Funktionalität sich von so nicht erschließt zumal P.S. Team diesen Zusammenhang nicht expliziet erklärt. Unter Geolocation steht nur "This option allows you, among other things, to restrict access to your shop for many countries. See below." Der wichtige Part ist hier "among other things".

Alles Beste, Trip

  • Like 1

Share this post


Link to post
Share on other sites

@ Trip - Nein, nein, es gibt zwei Funktionen. Geolocation und Geotargeting. Eines hat mit dem anderen absolut nichts zu tun. Die Erkennung der IP war schon immer in PS integriert, auch schon unter PS 1.4. und funktionierte ohne Geotargeting aktiviert oder installiert zu haben. Wie du selbst sagst, PS selbst gibt darüber keine Auskunft. Für mich weiß ich, dass diese beiden Features komplett getrennt fahren, weil es einmal in den Übersetzugen vorgekommen ist, wo mein Vorübersetzer beides als Geolocation übersetzt hatte und eben nicht klar war, was genau gemeint ist.

 

Solange sich die Entwickler in Schweigen hüllen, werden wir das nicht aufklären. Evtl. haben die das Featured jetzt mit Multishop (PS 1.5.) zusammengeführt. Ich kann es dir nicht sagen. Bis jetzt waren es absolut getrennte Dinge. UND dass PS einige "sniffing-Elemente" enthält, das ist jedem der Entwickler bekannt. Vermutlich auch in den Statistiken Module verankert... Schweigen ist hier die Beste Lösung. Auch PS 1.5. enthält diese Elemente.

Über dieses Thema gibt es einen eigenen Blog und auch eine eigene Twitter-Seite von einen der Entwickler selbst.

Share this post


Link to post
Share on other sites

Liebe cd2500, ich will nicht Erbsen zählen. Da ich seit PS 1.2.5 dabei bin weiß ich dass das früher nur über Cookies geregelt wurde was SEO technisch sehr schlecht war. Die geolocation per ip kam erst später hinzu. Aber das ist auch letzten Endes egal. Nur fürs Protokoll :). In Classes/Frontcontroller gibt es eine Funktion geolocationManagement (Zeile 639) in PS 1.5.4 die alles Regelt wenn die Maxmind.db am Start ist.

 


/* Check if Maxmind Database exists */
           if (file_exists(_PS_GEOIP_DIR_.'GeoLiteCity.dat'))

 

Ich will den Code jetzt auch nicht 100% zerplücken aber zumindest wird hiermit ersichtlich, dass die currency ggf. auch per zusammenspiel von Maxmind Datenbank und den Default Country Currency beeinflusst wird

 

if (isset($has_been_set) && $has_been_set)
                       $this->context->cookie->id_currency = (int)(Currency::getCurrencyInstance($default_country->id_currency ? (int)$default_country->id_currency : Configuration::get('PS_CURRENCY_DEFAULT'))->id);

 

So oder so weiß jetzt zumindest Heisenberg wo das ganze Abläuft. Interpretieren möge es jeder für sich selber.

Alles Beste, Trip

  • Like 2

Share this post


Link to post
Share on other sites

Hallo Heisenberg, hallo Trip,

 

das Problem scheint es schon länger zu geben. Kleine Änderungen sind erforderlich in

/classes/Tools.php, die in changecurrency.php bekanntgegeben werden müssen.

Hier im englischen Forum wird eine Lösung diskutiert, die allerdings nur für 1.4x greift:

 

http://www.prestashop.com/forums/topic/52019-change-currency-automatically-when-switching-from-one-language-to-another/

 

In 1.5.x wurde die betreffende Funktion public static function switchLanguage in /classes/Tools.php geändert (ab Zeile 377)

 

Wer möchte denn jetzt mal die Lösung für 1.5x entwickeln? ;)

  • Like 1

Share this post


Link to post
Share on other sites

Hallo Heisenberg, hallo Trip,

 

das Problem scheint es schon länger zu geben. Kleine Änderungen sind erforderlich in

/classes/Tools.php, die in changecurrency.php bekanntgegeben werden müssen.

Hier im englischen Forum wird eine Lösung diskutiert, die allerdings nur für 1.4x greift:

 

http://www.prestasho...age-to-another/

 

In 1.5.x wurde die betreffende Funktion public static function switchLanguage in /classes/Tools.php geändert (ab Zeile 377)

 

Wer möchte denn jetzt mal die Lösung für 1.5x entwickeln? ;)

 

Danke eleazar! Das war der entscheidende Hinweis nach dem ich gesucht habe mit den zusätzlichen infos von Trip könnte es was werden. Ich werde mich mal dran versuchen und berichte ob es erfolg gab.

 

Noch mal für Protokoll, ich hatte doch recht ;) es ist ein Bug.

 

P.S. bin auf der PS 1.5.4, ist das erste mal das ich mit diesem CMS arbeite.

Edited by Heisenberg (see edit history)

Share this post


Link to post
Share on other sites

Hab den fehler gefunden.

Tools.php -> Line 437:

$currency = Currency::getCurrencyInstance(Configuration::get('PS_CURRENCY_DEFAULT'));

 

Diese Zeile sorg dafür das beim ersten aufrufen der der Seite die standard Währung des Shop benutzt wir und nicht die, die für das Land eingestellt wurde.

 

Da ich erst seit paar Tagen mit PS arbeite kenne ich den Code noch nicht so gut aber irgendwo in der Currency.php liegt die lösung... kann jemand helfen?

 

Achja das man beim Sprachwechsel die Währung automatsch mitwechselt ist eigentlich unnötig geworden da man die Währung für jedes Land festlegt und der Kunde hat schon seine richtige Währung. Wenn er jetzt eine andere Währung will kann er das auch selbst ändern.

Share this post


Link to post
Share on other sites

Natürlich ist es ein Bug. ;) Ich drück dir die Daumen, denn an der Lösung bin ich selbst sehr interessiert.

And just for the record:

Geolocation is a PrestaShop functionality that was translated into German with the term "Geotargeting". :)

 

@Heisenberg

Unsere Posts kamen praktisch zeitgleich, deshalb hier noch ein Zusatz:

Wenn ich die Funktion setCurrency richtig verstehe, aus der die zeile stammt, dann müsste es doch reichen, dieses Statement einfach wegzulassen. oder zu ersetzen durch:

 

$currency = Currency::getCurrencyInstance((int)$cookie->id_currency);

 

Oder sehe ich das falsch?

Edited by eleazar (see edit history)

Share this post


Link to post
Share on other sites

Ne leider nicht, hab den cookie an diese stelle mit print_r ausgegeben an der stelle ist nur die [id_lang] im cookie und das ist das problem... oder sogar der bug...

Share this post


Link to post
Share on other sites

Auf das Naheliegendste kommt man leider immer erst zuletzt. Wenn es um Cookies geht, sollte man auch dort suchen, wo sie verarbeitet werden - in der Cookie.php. Und dann bin ich auch im Github pfündig geworden, und zwar hier:

https://github.com/P...taShop/pull/176

 

Die entscheidenden Anregungen verdanke ich dem Beitrag von grandzorglub, den ich im englischen Forum fand:

http://www.prestasho...ost__p__1150652

 

Die Lösung lautet wie folgt:

 

1. Aus classes/Tools.php die Zeilen 345 to 363 kopieren:

 

 /* Automatically detect language if not already defined */
 if (!$cookie->id_lang && isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
 {
  $array = explode(',', Tools::strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']));
  if (Tools::strlen($array[0]) > 2)
  {
$tab = explode('-', $array[0]);
$string = $tab[0];
  }
  else
$string = $array[0];
  if (Validate::isLanguageIsoCode($string))
  {
$lang = new Language(Language::getIdByIso($string));
if (Validate::isLoadedObject($lang) && $lang->active)
 $cookie->id_lang = (int)$lang->id;
  }
 }

 

Die letzte Zeile ändern in:

 

$this->id_lang = (int)$lang->id;

 

2. Das Ganze ab Zeile 298 in die Cookie.php kopieren, die dann in function update so aussehen sollte:

 

}
else
$this->_content['date_add'] = date('Y-m-d H:i:s');
/* Automatically detect language if not already defined */
if (!$cookie->id_lang && isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
{
$array = explode(',', Tools::strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']));
if (Tools::strlen($array[0]) > 2)
{
$tab = explode('-', $array[0]);
$string = $tab[0];
}
else
$string = $array[0];
if (Validate::isLanguageIsoCode($string))
{
$lang = new Language(Language::getIdByIso($string));
if (Validate::isLoadedObject($lang) && $lang->active)
$this->id_lang = (int)$lang->id;
}
}

 

Um gar nicht erst den Vorwurf zu riskieren, ich würde mal wieder Vorschläge für unerwünschte Eingriffe in den Programmcode machen ;) , habe ich hier ein Override geschrieben, das die gleichnamige Datei in /override/classes/Cookies.php ersetzen sollte:

 

<?php
class Cookie extends CookieCore
{
/**
 * Get cookie content
 */
public function update($nullValues = false)
{
 if (isset($_COOKIE[$this->_name]))
 {
  /* Decrypt cookie content */
  $content = $this->_cipherTool->decrypt($_COOKIE[$this->_name]);
  //printf("\$content = %s<br />", $content);

  /* Get cookie checksum */
  $checksum = crc32($this->_iv.substr($content, 0, strrpos($content, '¤') + 2));
  //printf("\$checksum = %s<br />", $checksum);

  /* Unserialize cookie content */
  $tmpTab = explode('¤', $content);
  foreach ($tmpTab as $keyAndValue)
  {
$tmpTab2 = explode('|', $keyAndValue);
if (count($tmpTab2) == 2)
 $this->_content[$tmpTab2[0]] = $tmpTab2[1];
  }
  /* Blowfish fix */
  if (isset($this->_content['checksum']))
$this->_content['checksum'] = (int)($this->_content['checksum']);
  //printf("\$this->_content['checksum'] = %s<br />", $this->_content['checksum']);
  //die();
  /* Check if cookie has not been modified */
  if (!isset($this->_content['checksum']) || $this->_content['checksum'] != $checksum)
$this->logout();
  if (!isset($this->_content['date_add']))
$this->_content['date_add'] = date('Y-m-d H:i:s');
 }
 else
  $this->_content['date_add'] = date('Y-m-d H:i:s');
  /* Automatically detect language if not already defined */
 if (!$cookie->id_lang && isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
 {
  $array = explode(',', Tools::strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']));
  if (Tools::strlen($array[0]) > 2)
  {
$tab = explode('-', $array[0]);
$string = $tab[0];
  }
  else
$string = $array[0];
  if (Validate::isLanguageIsoCode($string))
  {
$lang = new Language(Language::getIdByIso($string));
if (Validate::isLoadedObject($lang) && $lang->active)
 $this->id_lang = (int)$lang->id;
  }
 }
 //checks if the language exists, if not choose the default language
 if (!Language::getLanguage((int)$this->id_lang))
  $this->id_lang = Configuration::get('PS_LANG_DEFAULT');
}
}

 

Anbei das Override als ZIP-Datei.

 

Edited by eleazar (see edit history)

Share this post


Link to post
Share on other sites

Ich habe testweise Standardsprache und Standardwährung geändert und anschließend den Shop aufgerufen - und es klappt! Versuch's mal, lösch vorher deine Cookies im Firefox, falls du den benutzt, und lass dich überraschen.

Edited by eleazar (see edit history)

Share this post


Link to post
Share on other sites

Auf das Naheliegendste kommt man leider immer erst zuletzt. Wenn es um Cookies geht, sollte man auch dort suchen, wo sie verarbeitet werden - in der Cookie.php. Und dann bin ich auch im Github pfündig geworden, und zwar hier:

 

 

war das nicht schon hier weiter oben klargestellt ?

 

Obendrauf nutzt Prestashop einige Cookie-Sessions, auch diese spielen eine große Rolle was angezeigt wird.

 

 

Aber ich halte mich hier jetzt komplett raus, weil offensichtlich die Hilfe ja nicht benötigt wird.

Share this post


Link to post
Share on other sites

Ich habe testweise Standardsprache und Standardwährung geändert und anschließend den Shop aufgerufen - und es klappt! Versuch's mal, lösch vorher deine Cookies im Firefox, falls du den benutzt, und lass dich überraschen.

 

Ne klappt absolut nicht... ( mit cookie/cache lösen kenne ich mich extrem gut aus ;) )

Wie gesagt an dieser stelle ist lang_id im cookie schon vorhanden. Das Problem ist diese function "Tools::setCurrency($this->context->cookie);" zu früh aufgerufen wird. An dieser stelle ist noch kein currency von geoip aus gesetzt worden.

Mir ist aber was aufgefallen das im "Block currencies module" beim ersten Seitenaufruf die richtigen Variablen gesetzt sind aber nur in dem Ausklapp eumel. (Bild im Anhang, wie Währung in weißer Schrift läuftet ist selected)

 

<p>
  <input type="hidden" name="id_currency" id="id_currency" value=""/>
  <input type="hidden" name="SubmitCurrency" value="" />
  {l s='Currency' mod='blockcurrencies'} : {$blockcurrencies_sign}
 </p>
 <ul id="first-currencies" class="currencies_ul">
  {foreach from=$currencies key=k item=f_currency}
<li {if $cookie->id_currency == $f_currency.id_currency}class="selected"{/if}>
 <a href="javascript:setCurrency({$f_currency.id_currency});" title="{$f_currency.name}">{$f_currency.sign}</a>
</li>
  {/foreach}
 </ul>

 

Wobei die Zeile " <li {if $cookie->id_currency == $f_currency.id_currency}class="selected"{/if}>" sehr instessant ist.

 

Das Sagt uns eigentlich das die "setCurrency" Function an der falschen stelle aufgerufen wir und der Fix sehr einfach ist.

Kann das jemand mal an die Programmierer Weiterleiten?

Für mich ist es sehr schwer jetzt die richtige stelle im code zu finden, dafür muss ich den ganzen Code lesen :S

post-535773-0-26101500-1365856528_thumb.png

Share this post


Link to post
Share on other sites

Schau doch einfach mal im Github nach, wer an diesem Modul arbeitet und stell dort die entsprechende Anfrage. Oder du meldest es im Bugtracker.

Share this post


Link to post
Share on other sites

Ich hab jetzt einen hard fix geschrieben, der über die id_lang aus dem Cookie für die passende Währung beim ersten Seitenaufruf einstellt.

Ist halt nicht die beste lösung aber vorrübergehen funktioiert es. Ich glaube es ist jedem klar, dass der erste Aufruf einer Webseite entscheidet ob der Kunde bleibt und kauft oder weitersucht.

 

Um den Fix zu verstehen, meine Shop stellungen:

Standard Sprache Deutsch = ID-> 1

Zweite Sprache Englsich = ID-> 2

 

Standard Währung € = ID-> 1

Zweite Währung $ = ID-> 2

 

FIX: Tools.php - line 439 bis 449

$currency = Currency::getCurrencyInstance(Configuration::get('PS_CURRENCY_DEFAULT'));

 if ((int)$cookie->id_lang) {
  $currency  = (int)$cookie->id_lang;
  $currency = Currency::getCurrencyInstance($currency);
 }

 if (is_object($currency) && $currency->id)
  $cookie->id_currency = (int)$currency->id;
 return $currency;

 

Wenn der Shop über /de/ aufgerufen wird wird € benutzt. (id 1)

Wenn der Shop über /en/ aufgerufen wird wird $ benutzt. (id 2)

 

Alternative: Wer will kann das ganze auch nach dem alten fix aufbauen und selbst defenieren was für Währungen bei welcher sprache angezeigt werden.

 

$currency = Currency::getCurrencyInstance(Configuration::get('PS_CURRENCY_DEFAULT'));

 if ((int)$cookie->id_lang) {
  if ((int)$cookie->id_lang = 1)
  $currency = Currency::getCurrencyInstance(1);

  if ((int)$cookie->id_lang = 2)
  $currency = Currency::getCurrencyInstance(1);

  if ((int)$cookie->id_lang = 3)
  $currency = Currency::getCurrencyInstance(2);

  if ((int)$cookie->id_lang = 4)
  $currency = Currency::getCurrencyInstance(1);
 }

 if (is_object($currency) && $currency->id)
  $cookie->id_currency = (int)$currency->id;
 return $currency;

 

Wenn der Benutzer mit einer deutschen IP raufkommt über /en/ wird ihm $ angeziegt und wenn man im Shop einstellte hat das deutsche IP's € angezeigt bekommen sollen wir beim zweiten Seitenaufruf € einstellte. Deswegen ist dieser Fix nicht die Optimale lösung aber besser als nichts.

 

Das ganze würde sogar perfekt funktionieren wenn der Shop nach den IP's die richtige Sprache einstellen würde wenn man den shop ohne /de/ sprich /en/ aufrufen würde.

 

Beste Grüße,

Der Koch

 

 

EDIT: Sorry hab was falsch verstanden/übersehen.

Wenn man den Fix von eleazar einbaut und meinen Fix, solle alles so laufen wie gewünscht!

 

eleazar's Fix: http://www.prestashop.com/forums/index.php?/topic/238885-geo-ip-geotargeting-bug-wahrung-sprache/page__view__findpost__p__1182788

Edited by Heisenberg (see edit history)

Share this post


Link to post
Share on other sites

Mmh, so ganz kann ich dem jetzt nicht mehr folgen. Also, du hast also jetzt in der function setCurrency zwischen Zeile 437 (nicht 439!) und 441 einen Dreizeiler eingeschoben, nämlich nach Zeile 437:

 

if ((int)$cookie->id_lang) {
  $currency  = (int)$cookie->id_lang;
  $currency = Currency::getCurrencyInstance($currency);
 }

 

Bei der anderen Version käme es natürlich darauf an, welche IDs Länder und Währung im jeweiligen Shop haben. Aber selbst unter diesen Umständen tut sich bei mir mit beiden Fixes von dir - leider - nichts. Und das ist jetzt wirklich nicht als Kritik gemeint, sondern eine nüchterne Feststellung.

 

Und ob du's glaubst oder nicht, ich hatte mit der von mir ursprünglich geposteten Version tatsächlich den gewünschten Effekt. Hab mich aber zu früh gefreut, denn aus irgendeinem Grund lässt er sich nicht reproduzieren. Mir ist das Ganze allmählich rätselhaft.

Edited by eleazar (see edit history)

Share this post


Link to post
Share on other sites

Hast eine PN.

 

Bei deinem Fix wird über die Browser Sprache die richtige Sprache im Shop eingestellt, du kannst es testen in dem du bei Firefox unter "Einstellungen -> Inhalte -> Sprache" die beiden englsichen Sprachen nach oben schiebst. (natürlich Cookies löschen danach).

Bei meinem Fix wird dann zu der Sprache die richtige Währung eingestellt.

Share this post


Link to post
Share on other sites

Hallo, hoch interessant. Ich denke viele Prestashop Besitzer wären für eine Lösung dankbar.

 

Ich persönlich habe den PS 1.6.1.3 installiert und genause mehrere Sprachen und Währungen. Standart wie hier beschrieben Sprache Deutsch und Währung USD

 

Wenn der Kunde meinen Shop aufruft kommt die Sprache des Landes automatisch, so wie sein Browser eingestellt ist, ist also alles BESTENS. Jedoch die Währung schaltet sich nicht mit um, die bleibt immer auf USD.

 

Nun meine konkrete Frage. Gibt es eine Lösung, habt ihr das Problem gelöst, denn ich werde nicht Schlau aus diesen Beiträgen.

 

Wer ist so nett und schreibt hier eine Schritt für Schritt Anleitung was eine Anfänger wie ich machen muss das die Umstellung der Währung funktioniert.

 

BESTEN DANK IM VORAUS

Edited by bernd445 (see edit history)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More