In einem aktuellen PrestaShop-Projekt habe ich lange an einem kleinen Detail gesucht: Die Ländervorbelegung beim Anlegen einer neuen Adresse im Kundenbereich unter „Meine Adressen“.
Hier bestimmt PrestaShop das voreingestellte Land an Hand der Browsersprache. Im Falle von „Deutsch“ ermittelte PrestaShop immer „Deutschland“, obwohl die Vorbelegung aber auf „Schweiz“ lauten sollte.
Als einziger Weg dies anzupassen blieb mir am Ende eine Modifikation am File „Tools.php“ im Ordner „Classes“. Hier habe ich ab Zeile 433 folgenden Quelltext auskommentiert, so dass PrestaShop das Land nun korrekt aus der Config-Variable „PS_COUNTRY_DEFAULT“ liest:
//preg_match(‚#(?<=-)\w\w|\w\w(?!-)#‘, $_SERVER[‚HTTP_ACCEPT_LANGUAGE‘], $array);
//if (is_array($array) && isset($array[0]) && Validate::isLanguageIsoCode($array[0]))
//$id_country = Country::getByIso($array[0], true);
Update Version 1.6.1.1
Hier ist dies nun nicht mehr nötig. Man kann direkt unter „Lokalisierung > Lokalisierung“ deaktivieren, dass der Shop das Standardland an Hand der Browsersprache festlegt.
