1

I am getting data of country code and ID and name from

Magento\Directory\Api\CountryInformationAcquirerInterface

using getCountriesInfo function.

Like this

{
    "id": "EG",
    "two_letter_abbreviation": "EG",
    "three_letter_abbreviation": "EGY",
    "full_name_locale": "Egypt",
    "full_name_english": "Egypt"
},
{
    "id": "KP",
    "two_letter_abbreviation": "KP",
    "three_letter_abbreviation": "PRK",
    "full_name_locale": "North Korea",
    "full_name_english": "North Korea"
},
{
    "id": "KW",
    "two_letter_abbreviation": "KW",
    "three_letter_abbreviation": "KWT",
    "full_name_locale": "Kuwait",
    "full_name_english": "Kuwait"
},

How can I get telephone code of that country as well in Magento 2 ?

like

Egypt telephone code +20
Kuwait telephone code +965
  • 1
    This type of feature does not exit at Magento. So you have to built this feature your self – Amit Bera Jan 28 '19 at 10:31
  • 1
    As Amit said in the comment this functionality doesn't exist in Magento by default. You can develop your custom module to achieve this. Store list of all countries with their country id and dial id somewhere. You can store them in a file or database and retrieve dial code filtering by country id. You can get list of dial code here gist.github.com/josephilipraja/8341837. – amitshree Jan 28 '19 at 13:45
3

You can create function in helper by enter all dial number with country code. I have created function like below:

public function getphonecode($code)
{
    $countrycode = array(
        'AD'=>'376',
        'AE'=>'971',
        'AF'=>'93',
        'AG'=>'1268',
        'AI'=>'1264',
        'AL'=>'355',
        'AM'=>'374',
        'AN'=>'599',
        'AO'=>'244',
        'AQ'=>'672',
        'AR'=>'54',
        'AS'=>'1684',
        'AT'=>'43',
        'AU'=>'61',
        'AW'=>'297',
        'AZ'=>'994',
        'BA'=>'387',
        'BB'=>'1246',
        'BD'=>'880',
        'BE'=>'32',
        'BF'=>'226',
        'BG'=>'359',
        'BH'=>'973',
        'BI'=>'257',
        'BJ'=>'229',
        'BL'=>'590',
        'BM'=>'1441',
        'BN'=>'673',
        'BO'=>'591',
        'BR'=>'55',
        'BS'=>'1242',
        'BT'=>'975',
        'BW'=>'267',
        'BY'=>'375',
        'BZ'=>'501',
        'CA'=>'1',
        'CC'=>'61',
        'CD'=>'243',
        'CF'=>'236',
        'CG'=>'242',
        'CH'=>'41',
        'CI'=>'225',
        'CK'=>'682',
        'CL'=>'56',
        'CM'=>'237',
        'CN'=>'86',
        'CO'=>'57',
        'CR'=>'506',
        'CU'=>'53',
        'CV'=>'238',
        'CX'=>'61',
        'CY'=>'357',
        'CZ'=>'420',
        'DE'=>'49',
        'DJ'=>'253',
        'DK'=>'45',
        'DM'=>'1767',
        'DO'=>'1809',
        'DZ'=>'213',
        'EC'=>'593',
        'EE'=>'372',
        'EG'=>'20',
        'ER'=>'291',
        'ES'=>'34',
        'ET'=>'251',
        'FI'=>'358',
        'FJ'=>'679',
        'FK'=>'500',
        'FM'=>'691',
        'FO'=>'298',
        'FR'=>'33',
        'GA'=>'241',
        'GB'=>'44',
        'GD'=>'1473',
        'GE'=>'995',
        'GH'=>'233',
        'GI'=>'350',
        'GL'=>'299',
        'GM'=>'220',
        'GN'=>'224',
        'GQ'=>'240',
        'GR'=>'30',
        'GT'=>'502',
        'GU'=>'1671',
        'GW'=>'245',
        'GY'=>'592',
        'HK'=>'852',
        'HN'=>'504',
        'HR'=>'385',
        'HT'=>'509',
        'HU'=>'36',
        'ID'=>'62',
        'IE'=>'353',
        'IL'=>'972',
        'IM'=>'44',
        'IN'=>'91',
        'IQ'=>'964',
        'IR'=>'98',
        'IS'=>'354',
        'IT'=>'39',
        'JM'=>'1876',
        'JO'=>'962',
        'JP'=>'81',
        'KE'=>'254',
        'KG'=>'996',
        'KH'=>'855',
        'KI'=>'686',
        'KM'=>'269',
        'KN'=>'1869',
        'KP'=>'850',
        'KR'=>'82',
        'KW'=>'965',
        'KY'=>'1345',
        'KZ'=>'7',
        'LA'=>'856',
        'LB'=>'961',
        'LC'=>'1758',
        'LI'=>'423',
        'LK'=>'94',
        'LR'=>'231',
        'LS'=>'266',
        'LT'=>'370',
        'LU'=>'352',
        'LV'=>'371',
        'LY'=>'218',
        'MA'=>'212',
        'MC'=>'377',
        'MD'=>'373',
        'ME'=>'382',
        'MF'=>'1599',
        'MG'=>'261',
        'MH'=>'692',
        'MK'=>'389',
        'ML'=>'223',
        'MM'=>'95',
        'MN'=>'976',
        'MO'=>'853',
        'MP'=>'1670',
        'MR'=>'222',
        'MS'=>'1664',
        'MT'=>'356',
        'MU'=>'230',
        'MV'=>'960',
        'MW'=>'265',
        'MX'=>'52',
        'MY'=>'60',
        'MZ'=>'258',
        'NA'=>'264',
        'NC'=>'687',
        'NE'=>'227',
        'NG'=>'234',
        'NI'=>'505',
        'NL'=>'31',
        'NO'=>'47',
        'NP'=>'977',
        'NR'=>'674',
        'NU'=>'683',
        'NZ'=>'64',
        'OM'=>'968',
        'PA'=>'507',
        'PE'=>'51',
        'PF'=>'689',
        'PG'=>'675',
        'PH'=>'63',
        'PK'=>'92',
        'PL'=>'48',
        'PM'=>'508',
        'PN'=>'870',
        'PR'=>'1',
        'PT'=>'351',
        'PW'=>'680',
        'PY'=>'595',
        'QA'=>'974',
        'RO'=>'40',
        'RS'=>'381',
        'RU'=>'7',
        'RW'=>'250',
        'SA'=>'966',
        'SB'=>'677',
        'SC'=>'248',
        'SD'=>'249',
        'SE'=>'46',
        'SG'=>'65',
        'SH'=>'290',
        'SI'=>'386',
        'SK'=>'421',
        'SL'=>'232',
        'SM'=>'378',
        'SN'=>'221',
        'SO'=>'252',
        'SR'=>'597',
        'ST'=>'239',
        'SV'=>'503',
        'SY'=>'963',
        'SZ'=>'268',
        'TC'=>'1649',
        'TD'=>'235',
        'TG'=>'228',
        'TH'=>'66',
        'TJ'=>'992',
        'TK'=>'690',
        'TL'=>'670',
        'TM'=>'993',
        'TN'=>'216',
        'TO'=>'676',
        'TR'=>'90',
        'TT'=>'1868',
        'TV'=>'688',
        'TW'=>'886',
        'TZ'=>'255',
        'UA'=>'380',
        'UG'=>'256',
        'US'=>'1',
        'UY'=>'598',
        'UZ'=>'998',
        'VA'=>'39',
        'VC'=>'1784',
        'VE'=>'58',
        'VG'=>'1284',
        'VI'=>'1340',
        'VN'=>'84',
        'VU'=>'678',
        'WF'=>'681',
        'WS'=>'685',
        'XK'=>'381',
        'YE'=>'967',
        'YT'=>'262',
        'ZA'=>'27',
        'ZM'=>'260',
        'ZW'=>'263'
    );

    $key = array_search($code,$countrycode);
    return $key;
}

You can get in phtml file like following:

$helper = $this->helper('Vendorname\Modulename\Helper\Data');
$allcounties = $helper->getphonecode($phonecode);

Hope it will work.

| improve this answer | |
  • Thanks for the answer and +1 and accepting as an answer, Thanks for the efforts! – Aditya Shah Sep 11 '19 at 7:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.