Here is a simple function for converting the two character ISO code provided in the Foxycart XML datafeed to the id number of the country used by MODx.
function convert_iso($iso_country_code) {
//ISO Country Codes only have two letters.
if (strlen($iso_country_code)!=2) {return "";}
//Take the two letter ISO country code and convert to the MODx country code.
switch ($iso_country_code) {
case "AF":
return "1";
case "AL":
return "2";
case "DZ":
return "3";
case "AS":
return "4";
case "AD":
return "5";
case "AO":
return "6";
case "AI":
return "7";
case "AQ":
return "8";
case "AG":
return "9";
case "AR":
return "10";
case "AM":
return "11";
case "AW":
return "12";
case "AU":
return "13";
case "AT":
return "14";
case "AZ":
return "15";
case "BS":
return "16";
case "BH":
return "17";
case "BD":
return "18";
case "BB":
return "19";
case "BY":
return "20";
case "BE":
return "21";
case "BZ":
return "22";
case "BJ":
return "23";
case "BM":
return "24";
case "BT":
return "25";
case "BO":
return "26";
case "BA":
return "27";
case "BW":
return "28";
case "BV":
return "29";
case "BR":
return "30";
case "IO":
return "31";
case "BN":
return "32";
case "BG":
return "33";
case "BF":
return "34";
case "BI":
return "35";
case "KH":
return "36";
case "CM":
return "37";
case "CA":
return "38";
case "CV":
return "39";
case "KY":
return "40";
case "CF":
return "41";
case "TD":
return "42";
case "CL":
return "43";
case "CN":
return "44";
case "CX":
return "45";
case "CC":
return "46";
case "CO":
return "47";
case "KM":
return "48";
case "CD":
return "49";
case "CK":
return "50";
case "CR":
return "51";
case "CI":
return "52";
case "HR":
return "53";
case "CU":
return "54";
case "CY":
return "55";
case "CZ":
return "56";
case "DK":
return "57";
case "DJ":
return "58";
case "DM":
return "59";
case "DO":
return "60";
case "TL":
return "61";
case "EC":
return "62";
case "EG":
return "63";
case "SV":
return "64";
case "GQ":
return "65";
case "ER":
return "66";
case "EE":
return "67";
case "ET":
return "68";
case "FK":
return "69";
case "FO":
return "70";
case "FJ":
return "71";
case "FI":
return "72";
case "FR":
return "73";
case "FR":
return "74";
case "GF":
return "75";
case "PF":
return "76";
case "TF":
return "77";
case "GA":
return "78";
case "GM":
return "79";
case "GE":
return "80";
case "DE":
return "81";
case "GH":
return "82";
case "GI":
return "83";
case "GR":
return "84";
case "GL":
return "85";
case "GD":
return "86";
case "GP":
return "87";
case "GU":
return "88";
case "GT":
return "89";
case "GN":
return "90";
case "GW":
return "91";
case "GY":
return "92";
case "HT":
return "93";
case "HM":
return "94";
case "HN":
return "95";
case "HK":
return "96";
case "HU":
return "97";
case "IS":
return "98";
case "IN":
return "99";
case "ID":
return "100";
case "IR":
return "101";
case "IQ":
return "102";
case "IE":
return "103";
case "IL":
return "104";
case "IT":
return "105";
case "JM":
return "106";
case "JP":
return "107";
case "JO":
return "108";
case "KZ":
return "109";
case "KE":
return "110";
case "KI":
return "111";
case "KP":
return "112";
case "KR":
return "113";
case "KW":
return "114";
case "KG":
return "115";
case "LA":
return "116";
case "LV":
return "117";
case "LB":
return "118";
case "LS":
return "119";
case "LR":
return "120";
case "LY":
return "121";
case "LI":
return "122";
case "LT":
return "123";
case "LU":
return "124";
case "MO":
return "125";
case "MK":
return "126";
case "MG":
return "127";
case "MW":
return "128";
case "MY":
return "129";
case "MV":
return "130";
case "ML":
return "131";
case "MT":
return "132";
case "MH":
return "133";
case "MQ":
return "134";
case "MR":
return "135";
case "MU":
return "136";
case "YT":
return "137";
case "MX":
return "138";
case "FM":
return "139";
case "MD":
return "140";
case "MC":
return "141";
case "MN":
return "142";
case "MS":
return "143";
case "MA":
return "144";
case "MZ":
return "145";
case "MM":
return "146";
case "NA":
return "147";
case "NR":
return "148";
case "NP":
return "149";
case "NL":
return "150";
case "AN":
return "151";
case "NC":
return "152";
case "NZ":
return "153";
case "NI":
return "154";
case "NE":
return "155";
case "NG":
return "156";
case "NU":
return "157";
case "NF":
return "158";
case "MP":
return "159";
case "NO":
return "160";
case "OM":
return "161";
case "PK":
return "162";
case "PW":
return "163";
case "PA":
return "164";
case "PG":
return "165";
case "PY":
return "166";
case "PE":
return "167";
case "PH":
return "168";
case "PN":
return "169";
case "PL":
return "170";
case "PT":
return "171";
case "PR":
return "172";
case "QA":
return "173";
case "RE":
return "174";
case "RO":
return "175";
case "RU":
return "176";
case "RW":
return "177";
case "KN":
return "178";
case "LC":
return "179";
case "VC":
return "180";
case "WS":
return "181";
case "SM":
return "182";
case "ST":
return "183";
case "SA":
return "184";
case "SN":
return "185";
case "SC":
return "186";
case "SL":
return "187";
case "SG":
return "188";
case "SK":
return "189";
case "SI":
return "190";
case "SB":
return "191";
case "SO":
return "192";
case "ZA":
return "193";
case "GS":
return "194";
case "ES":
return "195";
case "LK":
return "196";
case "SH":
return "197";
case "PM":
return "198";
case "SD":
return "199";
case "SR":
return "200";
case "SJ":
return "201";
case "SZ":
return "202";
case "SE":
return "203";
case "CH":
return "204";
case "SY":
return "205";
case "TW":
return "206";
case "TJ":
return "207";
case "TZ":
return "208";
case "TH":
return "209";
case "TG":
return "210";
case "TK":
return "211";
case "TO":
return "212";
case "TT":
return "213";
case "TN":
return "214";
case "TR":
return "215";
case "TM":
return "216";
case "TC":
return "217";
case "TV":
return "218";
case "UG":
return "219";
case "UA":
return "220";
case "AE":
return "221";
case "GB":
return "222";
case "US":
return "223";
case "UM":
return "224";
case "UY":
return "225";
case "UZ":
return "226";
case "VU":
return "227";
case "VA":
return "228";
case "VE":
return "229";
case "VN":
return "230";
case "VG":
return "231";
case "VI":
return "232";
case "WF":
return "233";
case "EH":
return "234";
case "YE":
return "235";
case "RS":
return "236";
case "CD":
return "237";
case "ZM":
return "238";
case "ZW":
return "239";
case "RS":
return "240";
case "ME":
return "241";
default:
return "";
}
}
In the MODx build, you can find the code for each country in the folder:
manager/includes/lang/country