Ho questa classe di supporto in 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 funzione getCountryIsoCode () ha un esempio come parametro ('US').
Non capisco perché getIso3Code () non funzioni. Invece getData () funziona perfettamente.
In Magento2 non ci sono più "funzioni magiche php per ottenere il campo della tabella del database"?
C'è qualcosa di sbagliato nel mio codice?