Я пытаюсь получить название страны "США" (или инициалы "США" / "США"). Я перепробовал несколько вариантов:
echo Mage::getSingleton('customer/session')->getCustomer()->getCountry();
$countryName = Mage::getModel('directory/country')->load(Mage::getSingleton('customer/session')->getCustomer()->getCountry())->getName();
error_log("countryName = $countryName");
Первый звонок «кажется» сработает, так как я получаю обратно 6 (США). Но после этого я не могу выяснить, как сопоставить это с правильным именем или слагом.
Я видел сообщения, где программисты получают список всех названий стран и их идентификаторов, но я не хочу перебирать все комбинации, чтобы найти имя.
ТИА!
EDIT:
По совету часовщиков, я попробовал:
$customer = Mage::getSingleton('customer/session')->getCustomer();
error_log(print_r($customer, true));
$countryCode = $customer->getDefaultBillingAddress()->getCountry();
Однако 3-я строка не работает с вызовом getCountry (). Возможно, getDefaultBillingAddress () не возвращается для объекта. Сообщение об ошибке:
PHP Fatal error: Call to a member function getCountry() on a non-object in ...
Мысли? Объект $ customer возвращается корректно, хотя CLASS является объектом MYCLIENT_Customer_Model_Customer ... возможно, он не расширяет надлежащий родительский элемент, чтобы дать ему доступ к getCountry?
Редактировать: (Решение): Добавлено как ответ.