By eelkeboezeman on
I needed to make a drop down list from which the user could select a country. Couldn't find any ready-to-use solution so I constructed my own list (added below). It has two dimensions to allow for option groups.
Add the code to the PHP field of a Text Field>Selection List widget (omit the <?php ?> tags, they are just added for layout purposes):
$array['Africa']['Algeria'] = "Algeria (People's Democratic Republic of Algeria)";
$array['Africa']['Angola'] = "Angola (Republic of Angola)";
$array['Africa']['Benin'] = "Benin (Republic of Benin)";
$array['Africa']['Botswana'] = "Botswana (Republic of Botswana)";
$array['Africa']['BurkinaFaso'] = "Burkina Faso";
$array['Africa']['Burundi'] = "Burundi (Republic of Burundi)";
$array['Africa']['Cameroon'] = "Cameroon (Republic of Cameroon)";
$array['Africa']['CapeVerde'] = "Cape Verde (Republic of Cape Verde)";
$array['Africa']['CentralAfricanRepublic'] = "Central African Republic (Central African Republic)";
$array['Africa']['Chad'] = "Chad (Republic of Chad)";
$array['Africa']['Comoros'] = "Comoros (Union of the Comoros)";
$array['Africa']['CotedIvoire'] = "Côte d'Ivoire (Republic of Côte d'Ivoire)";
$array['Africa']['Djibouti'] = "Djibouti (Republic of Djibouti)";
$array['Africa']['Egypt'] = "Egypt (Arab Republic of Egypt)";
$array['Africa']['EquatorialGuinea'] = "Equatorial Guinea (Republic of Equatorial Guinea)";
$array['Africa']['Eritrea'] = "Eritrea (State of Eritrea)";
$array['Africa']['Ethiopia'] = "Ethiopia (Federal Democratic Republic of Ethiopia)";
$array['Africa']['Gabon'] = "Gabon (Gabonese Republic)";
$array['Africa']['Gambia'] = "Gambia (Republic of The Gambia)";
$array['Africa']['Ghana'] = "Ghana (Republic of Ghana)";
$array['Africa']['Guinea'] = "Guinea (Republic of Guinea)";
$array['Africa']['GuineaBissau'] = "Guinea-Bissau (Republic of Guinea-Bissau)";
$array['Africa']['Kenya'] = "Kenya (Republic of Kenya)";
$array['Africa']['Lesotho'] = "Lesotho (Kingdom of Lesotho)";
$array['Africa']['Liberia'] = "Liberia (Republic of Liberia)";
$array['Africa']['Libya'] = "Libya (Great Socialist People's Libyan Arab Jamahiriya)";
$array['Africa']['Madagascar'] = "Madagascar (Republic of Madagascar)";
$array['Africa']['Malawi'] = "Malawi (Republic of Malawi)";
$array['Africa']['Mali'] = "Mali (Republic of Mali)";
$array['Africa']['Mauritania'] = "Mauritania (Islamic Republic of Mauritania)";
$array['Africa']['Mauritius'] = "Mauritius (Republic of Mauritius)";
$array['Africa']['Morocco'] = "Morocco (Kingdom of Morocco)";
$array['Africa']['Mozambique'] = "Mozambique (Republic of Mozambique)";
$array['Africa']['Namibia'] = "Namibia (Republic of Namibia)";
$array['Africa']['Niger'] = "Niger (Republic of Niger)";
$array['Africa']['Nigeria'] = "Nigeria (Federal Republic of Nigeria)";
$array['Africa']['Congo'] = "Republic of the Congo (Republic of the Congo)";
$array['Africa']['Rwanda'] = "Rwanda (Republic of Rwanda)";
$array['Africa']['SaoTomeAndPrincipe'] = "Sao Tome and Principe";
$array['Africa']['Senegal'] = "Senegal (Republic of Senegal)";
$array['Africa']['Seychelles'] = "Seychelles (Republic of Seychelles)";
$array['Africa']['SierraLeone'] = "Sierra Leone (Republic of Sierra Leone)";
$array['Africa']['Somalia'] = "Somalia (Somali Republic)";
$array['Africa']['SouthAfrica'] = "South Africa (Republic of South Africa)";
$array['Africa']['Sudan'] = "Sudan (Republic of Sudan)";
$array['Africa']['Swaziland'] = "Swaziland (Kingdom of Swaziland)";
$array['Africa']['Tanzania'] = "Tanzania (United Republic of Tanzania)";
$array['Africa']['Togo'] = "Togo (Togolese Republic)";
$array['Africa']['Tunisia'] = "Tunisia (Tunisian Republic)";
$array['Africa']['Uganda'] = "Uganda (Republic of Uganda)";
$array['Africa']['WesternSahara'] = "Western Sahara (Sahrawi Arab Democratic Republic)";
$array['Africa']['Zambia'] = "Zambia (Republic of Zambia)";
$array['Africa']['Zimbabwe'] = "Zimbabwe (Republic of Zimbabwe)";
$array['Asia']['Afghanistan'] = "Afghanistan";
$array['Asia']['Armenia'] = "Armenia";
$array['Asia']['Azerbaijan'] = "Azerbaijan";
$array['Asia']['Bahrain'] = "Bahrain";
$array['Asia']['Bangladesh'] = "Bangladesh";
$array['Asia']['Bhutan'] = "Bhutan";
$array['Asia']['Brunei'] = "Brunei";
$array['Asia']['Burma'] = "Burma (Myanmar)";
$array['Asia']['Cambodia'] = "Cambodia";
$array['Asia']['China'] = "China";
$array['Asia']['Georgia'] = "Georgia";
$array['Asia']['HongKong'] = "Hong Kong";
$array['Asia']['India'] = "India";
$array['Asia']['Indonesia'] = "Indonesia";
$array['Asia']['Iran'] = "Iran";
$array['Asia']['Iraq'] = "Iraq";
$array['Asia']['Israel'] = "Israel";
$array['Asia']['Japan'] = "Japan";
$array['Asia']['Jordan'] = "Jordan";
$array['Asia']['Kazakhstan'] = "Kazakhstan";
$array['Asia']['KoreaNorth'] = "Korea - North";
$array['Asia']['KoreaSouth'] = "Korea - South";
$array['Asia']['Kuwait'] = "Kuwait";
$array['Asia']['Kyrgyzstan'] = "Kyrgyzstan";
$array['Asia']['Laos'] = "Laos";
$array['Asia']['Lebanon'] = "Lebanon";
$array['Asia']['Malaysia'] = "Malaysia";
$array['Asia']['Maldives'] = "Maldives";
$array['Asia']['Mongolia'] = "Mongolia";
$array['Asia']['Nepal'] = "Nepal";
$array['Asia']['Oman'] = "Oman";
$array['Asia']['Pakistan'] = "Pakistan";
$array['Asia']['Philippines'] = "Philippines";
$array['Asia']['Qatar'] = "Qatar";
$array['Asia']['Russia'] = "Russia";
$array['Asia']['SaudiArabia'] = "Saudi Arabia";
$array['Asia']['Singapore'] = "Singapore";
$array['Asia']['SriLanka'] = "Sri Lanka";
$array['Asia']['Syria'] = "Syria";
$array['Asia']['Taiwan'] = "Taiwan";
$array['Asia']['Tajikistan'] = "Tajikistan";
$array['Asia']['Thailand'] = "Thailand";
$array['Asia']['Turkmenistan'] = "Turkmenistan";
$array['Asia']['UnitedArabEmirates'] = "United Arab Emirates";
$array['Asia']['Uzbekistan'] = "Uzbekistan";
$array['Asia']['Vietnam'] = "Vietnam";
$array['Asia']['Yemen'] = "Yemen";
$array['Europe']['Albania'] = "Albania";
$array['Europe']['Andorra'] = "Andorra";
$array['Europe']['Austria'] = "Austria";
$array['Europe']['Belgium'] = "Belgium";
$array['Europe']['Bulgaria'] = "Bulgaria";
$array['Europe']['Belarus'] = "Belarus";
$array['Europe']['BosniaAndHerzegovina'] = "Bosnia and Herzegovina";
$array['Europe']['Cyprus'] = "Cyprus";
$array['Europe']['Croatia'] = "Croatia";
$array['Europe']['CzechRepublic'] = "Czech Republic";
$array['Europe']['Denmark'] = "Denmark";
$array['Europe']['Estonia'] = "Estonia";
$array['Europe']['Finland'] = "Finland";
$array['Europe']['France'] = "France";
$array['Europe']['Germany'] = "Germany";
$array['Europe']['Greece'] = "Greece";
$array['Europe']['Hungary'] = "Hungary";
$array['Europe']['Iceland'] = "Iceland";
$array['Europe']['Ireland'] = "Ireland";
$array['Europe']['Italy'] = "Italy";
$array['Europe']['Latvia'] = "Latvia";
$array['Europe']['Lithuania'] = "Lithuania";
$array['Europe']['Luxembourg'] = "Luxembourg";
$array['Europe']['Liechtenstein'] = "Liechtenstein";
$array['Europe']['Malta'] = "Malta";
$array['Europe']['Moldova'] = "Moldova";
$array['Europe']['Monaco'] = "Monaco";
$array['Europe']['Montenegro'] = "Montenegro";
$array['Europe']['TheNetherlands'] = "The Netherlands";
$array['Europe']['Norway'] = "Norway";
$array['Europe']['Poland'] = "Poland";
$array['Europe']['Portugal'] = "Portugal";
$array['Europe']['Romania'] = "Romania";
$array['Europe']['SanMarino'] = "San Marino";
$array['Europe']['Serbia'] = "Serbia";
$array['Europe']['Slovakia'] = "Slovakia";
$array['Europe']['Slovenia'] = "Slovenia";
$array['Europe']['Spain'] = "Spain";
$array['Europe']['Sweden'] = "Sweden";
$array['Europe']['Switzerland'] = "Switzerland";
$array['Europe']['Turkey'] = "Turkey";
$array['Europe']['Ukraine'] = "Ukraine";
$array['Europe']['UnitedKingdom'] = "United Kingdom";
$array['Europe']['Vatican'] = "Vatican City State";
$array['Europe']['Macedonia'] = "Former Yugoslav Republic of Macedonia";
$array['North-America']['AntiguaAndBarbuda'] = "Antigua and Barbuda";
$array['North-America']['TheBahamas'] = "The Bahamas";
$array['North-America']['Barbados'] = "Barbados";
$array['North-America']['Belize'] = "Belize";
$array['North-America']['Canada'] = "Canada";
$array['North-America']['CostaRica'] = "Costa Rica";
$array['North-America']['Cuba'] = "Cuba";
$array['North-America']['Dominica'] = "Dominica";
$array['North-America']['DominicanRepublic'] = "Dominican Republic";
$array['North-America']['ElSalvador'] = "El Salvador";
$array['North-America']['Greenland'] = "Greenland (Kalaallit Nunaat)";
$array['North-America']['Grenada'] = "Grenada";
$array['North-America']['Guatemala'] = "Guatemala";
$array['North-America']['Haiti'] = "Haiti";
$array['North-America']['Honduras'] = "Honduras";
$array['North-America']['Jamaica'] = "Jamaica";
$array['North-America']['Mexico'] = "Mexico";
$array['North-America']['Nicaragua'] = "Nicaragua";
$array['North-America']['Panama'] = "Panama";
$array['North-America']['SaintKittsAndNevis'] = "Saint Kitts and Nevis";
$array['North-America']['SaintLucia'] = "Saint Lucia";
$array['North-America']['SaintVincentAndTheGrenadines'] = "Saint Vincent and the Grenadines";
$array['North-America']['TrinidadAndTobago'] = "Trinidad and Tobago";
$array['North-America']['USA'] = "United States of America";
$array['South-America']['Argentina'] = "Argentina";
$array['South-America']['Bolivia'] = "Bolivia";
$array['South-America']['Brazil'] = "Brazil";
$array['South-America']['Chile'] = "Chile";
$array['South-America']['Colombia'] = "Colombia";
$array['South-America']['Ecuador'] = "Ecuador";
$array['South-America']['FrenchGuiana'] = "French Guiana";
$array['South-America']['Guyana'] = "Guyana";
$array['South-America']['Paraguay'] = "Paraguay";
$array['South-America']['Peru'] = "Peru";
$array['South-America']['Suriname'] = "Suriname";
$array['South-America']['Uruguay'] = "Uruguay";
$array['South-America']['Venezuela'] = "Venezuela";
return $array;
Comments
Would it be possible to see
Would it be possible to see the dropdown menu on the site, please?
screenshot
not really:) but here's a screenshot:
http://yfrog.com/bgdrupalcountrydropdownp
Exposed Filter - by continent
General question:
If i was using an exposed filter to allow the user to filter by the continent/country as you display above, is it possible for the to search for all of Europe?
Thanks,
Lauren
Very useful post, thank you!
Very useful post, thank you!
Useful but...
Where is Australia and New Zealand?
;)
$array['Asia']['Afghanistan'] = "Afghanistan";
$array['Asia']['Armenia'] = "Armenia";
$array['Asia']['Australia'] = "Australia";
$array['Asia']['Azerbaijan'] = "Azerbaijan";
$array['Asia']['Bahrain'] = "Bahrain";
$array['Asia']['Bangladesh'] = "Bangladesh";
$array['Asia']['Bhutan'] = "Bhutan";
$array['Asia']['Brunei'] = "Brunei";
$array['Asia']['Burma'] = "Burma (Myanmar)";
$array['Asia']['Cambodia'] = "Cambodia";
$array['Asia']['China'] = "China";
$array['Asia']['Georgia'] = "Georgia";
$array['Asia']['HongKong'] = "Hong Kong";
$array['Asia']['India'] = "India";
$array['Asia']['Indonesia'] = "Indonesia";
$array['Asia']['Iran'] = "Iran";
$array['Asia']['Iraq'] = "Iraq";
$array['Asia']['Israel'] = "Israel";
$array['Asia']['Japan'] = "Japan";
$array['Asia']['Jordan'] = "Jordan";
$array['Asia']['Kazakhstan'] = "Kazakhstan";
$array['Asia']['KoreaNorth'] = "Korea - North";
$array['Asia']['KoreaSouth'] = "Korea - South";
$array['Asia']['Kuwait'] = "Kuwait";
$array['Asia']['Kyrgyzstan'] = "Kyrgyzstan";
$array['Asia']['Laos'] = "Laos";
$array['Asia']['Lebanon'] = "Lebanon";
$array['Asia']['Malaysia'] = "Malaysia";
$array['Asia']['Maldives'] = "Maldives";
$array['Asia']['Mongolia'] = "Mongolia";
$array['Asia']['Nepal'] = "Nepal";
$array['Asia']['New Zealand'] = "New Zealand";
$array['Asia']['Oman'] = "Oman";
$array['Asia']['Pakistan'] = "Pakistan";
$array['Asia']['Philippines'] = "Philippines";
$array['Asia']['Qatar'] = "Qatar";
$array['Asia']['Russia'] = "Russia";
$array['Asia']['SaudiArabia'] = "Saudi Arabia";
$array['Asia']['Singapore'] = "Singapore";
$array['Asia']['SriLanka'] = "Sri Lanka";
$array['Asia']['Syria'] = "Syria";
$array['Asia']['Taiwan'] = "Taiwan";
$array['Asia']['Tajikistan'] = "Tajikistan";
$array['Asia']['Thailand'] = "Thailand";
$array['Asia']['Turkmenistan'] = "Turkmenistan";
$array['Asia']['UnitedArabEmirates'] = "United Arab Emirates";
$array['Asia']['Uzbekistan'] = "Uzbekistan";
$array['Asia']['Vietnam'] = "Vietnam";
$array['Asia']['Yemen'] = "Yemen";
Thanks so much for this. I'm
Thanks so much for this. I'm reposting with the addition of "Oceania" for Australia, NZ and the other various island nations of the South Pacific. I've moved Indonesia to this section, and also cleaned up some of the names, removing many of the parenthetical names (I left a few for clarity). My version also has a "quick picks" section for common English speaking countries as I needed it for the site I was creating -- obviously it can just be removed, or customized, as needed. Thanks again eelkeboezeman.
Spanish version plus Central American Countries
This was very useful thanks a lot!
I needed to translate some of the content to Spanish and separate the countries in Central America so I'm sharing it here just in case someone needs it.
Alphabetical list, no continents
This is great work, and much appreciated! I got an error saying my parameters didn't match when trying to use the code with
$array[...]so I created a slimmed down list to drop into the Select Field widget. I also had to get rid of the quotation marks, so here's the pipe ( | ) separated list I ended up using:Maybe I was doing something wrong that could have been fixed more easily, but this was my solution. Either way, I'm very appreciative of this post. Thanks!
Ben
With Continents
I didn't realize before the field accepts
<Group Name>, so I was able to add continents back in for a more practical list. See below:Here's another list entirely simplified & alphabetical.
Or you could just do this
Or you could just enable ubercart and do this:
$data=uc_get_country_data();
foreach($data as $key => $value){
$array[$data[$key]['country_id']]=$data[$key]['country_name'];
}
return $array;
Entered as php under the allowed values in the cck setup for a select box widget.
hi, sorry i am completely new
hi,
sorry i am completely new to this. could someone please detail where i should add the above php code? in my profile for List (text) it only allows me to use checkboxes/radio buttons.
Thanks.