Tengo esta clase de ayuda en Magento 2:
class Data extends \Magento\Framework\App\Helper\AbstractHelper
{
protected $_countryFactory;
public function __construct(
\Magento\Directory\Model\CountryFactory $countryFactory
)
{
$this->_countryFactory = $countryFactory;
}
public function getCountryIsoCode($country = 'US')
{
$country = $this->_countryFactory->create()->getCollection();
$country->addFieldToFilter('country_id', array('eq' => country));
$countryCode = $country->getFirstItem()->getIso3Code());
$countryCode2 = $country->getFirstItem()->getData('iso3_code'));
// $countryCode => null
// $countryCode2 => 'USA'
return $countryCode;
}
}
La función getCountryIsoCode () tiene un ejemplo como parámetro ('US').
No sé por qué getIso3Code () no funciona. En cambio, getData () funciona perfectamente.
¿En Magento2 ya no hay "función mágica php para obtener el campo de la tabla de la base de datos"?
¿Hay algo mal en mi código?