country.dat bestimmt, welche Länder der Käufer bei der Bestellung für seine Rechnungsadresse auswählen kann. Was hier nicht steht, kann er nicht wählen und nicht abschicken.
Soll für die abweichende Lieferadresse eine andere Länderliste gelten, legen Sie diese in der zusätzlichen Datei country_deliv.dat fest. Das ist der übliche Weg für Shops, die weltweit Rechnungen stellen, aber nur in bestimmte Länder versenden.

Wo die Dateien liegen
Beide Dateien liegen im Konfigurationsverzeichnis des Subshops, und dort getrennt je Sprache:Aufbau
Beide Dateien sind gleich aufgebaut, im TSV-Format mit tabulatorgetrennten Spalten. Die erste Zeile enthält die Spaltennamen, ab der zweiten Zeile folgen die Daten.
Auszug aus einer
country.dat oder country_deliv.dat. Das Tabulatorzeichen ist hier als (TAB) dargestellt:
Wie der Shop die Datei liest
Drei Regeln bestimmen, was aus Ihrer Datei tatsächlich im Shop ankommt. Die Kopfzeile wird übersprungen, ihr Inhalt wird nicht ausgewertet. Der Shop überliest die erste Zeile unabhängig davon, was darin steht. Die Spaltenzuordnung ergibt sich aus der Position, nicht aus dem Namen in der Kopfzeile. Die erste Spalte ist immer der Name, die zweite immer der ISO-Code. Der ISO-Code wird hart auf drei Zeichen gekürzt. Steht in der zweiten Spalte etwas Längeres, schneidet der Shop stillschweigend ab. Das ist kein Fehler, sondern Absicht, denn am Ende des Codes stehen in der Praxis oft Leerzeichen. Die Reihenfolge der Zeilen ist die Reihenfolge im Auswahlfeld. Der Shop sortiert nicht. Wenn die wichtigsten Länder oben stehen sollen, sortieren Sie die Datei entsprechend. Im Auszug oben stehen deshalb Deutschland, Österreich und die Schweiz vor der alphabetischen Liste.Der Auszug oben enthält Österreich zweimal, einmal als
ÖSTERREICH und einmal als AUSTRIA, beide mit dem ISO-Code AUT. Im Auswahlfeld erscheinen dann auch beide Einträge.Für die Rückübersetzung eines ISO-Codes in einen Ländernamen, etwa in Bestätigungsmails oder auf der Rechnung, gewinnt der erste passende Eintrag in der Datei. Wenn Sie doppelte ISO-Codes vermeiden wollen, löschen Sie den jeweils unerwünschten Eintrag.Worauf die Listen sonst noch wirken
Die Länderlisten sind nicht nur die Quelle für zwei Auswahlfelder. Sie wirken an mehreren Stellen weiter, und das erklärt einige Effekte, die sonst überraschen. Eingabeprüfung. Der Shop prüft das übermittelte Land gegen die Liste. Ein Land, das nicht darin steht, wird abgewiesen, auch wenn es über einen manipulierten Formularwert hereinkommt. Für die Lieferadresse prüft der Shop gegen diecountry_deliv.dat, sofern diese existiert.
Ländernamen in Ausgaben. Gespeichert wird der ISO-Code. Überall dort, wo stattdessen der Ländername erscheint, löst der Shop ihn über die Liste auf. Fehlt der Code in der Liste, bleibt die Ausgabe leer.
Grundgesamtheit für Liefer- und Zahlungsregeln. Wenn Sie in der shop.config für eine Versandart oder eine Zahlungsart eine Länderregel hinterlegen, baut der Shop die Gegenliste, also “alle übrigen Länder”, aus der country_deliv.dat auf. Ein Land, das dort fehlt, taucht deshalb auch in der automatisch erzeugten Gegenliste nicht auf.
Referenz: shop.config, Zahlungsarten · shop.config, Versand und Lieferung
Für die Umrechnung zwischen dem dreistelligen ISO-Code, dem zweistelligen Code und dem numerischen Ländercode verwendet der Shop eine eingebaute Tabelle, nicht die country.dat. Ein selbst erfundener dreistelliger Code lässt sich deshalb nicht umrechnen. Verwenden Sie ausschließlich echte Codes nach ISO 3166.
Änderungen an der Länderliste
Ein Land, das Sie aus der Datei entfernen, verschwindet aus allen Auswahlfeldern. Umgekehrt erscheint ein neu eingetragenes Land überall, auch dort, wo Sie vielleicht gar nicht liefern wollen. Wenn Sie Rechnungs- und Lieferländer unterschiedlich führen wollen, ist diecountry_deliv.dat dafür der richtige Ort und nicht eine Einschränkung in der country.dat.
Der Shop liest beide Dateien einmal je Aufruf. Änderungen wirken also mit dem nächsten Seitenaufruf, ein Neustart ist nicht nötig.