私は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;
}
}
関数getCountryIsoCode()には、パラメーター( 'US')の例があります。getIso3Code()が機能しないの
はなぜですか。代わりに、getData()は完全に機能します。
Magento2では、「データベーステーブルフィールドを取得するためのPHPマジック関数」はもうありませんか?
私のコードに何か問題がありますか?