How to get country dial code for telephone number in Magento 2?
Question
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
La solution
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.
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange