2017-08-17 63 views
0

我试图为每个商店视图/语言显示一个自定义块。 因此,我想创建像switch语句:Magento 2:如何获得当前的商店视图代码语言?

$lang = // Get language code or store view code here; 
switch ($lang) { 

    case 'en': 
     // English block 
     break; 

    case 'nl': 
     // Dutch block 
     break; 

    default: 
     // Dutch block 
     break; 
} 

如何我能得到这个?我需要它在这个文件中\app\design\frontend\Venustheme\floristy\Ves_Themesettings\templates\header\default.phtml

回答

0

使用\Magento\Store\Api\Data\StoreInterface在你的Block类的__construct()对应于你的模板文件。

例子:

/**@var \Magento\Store\Api\Data\StoreInterface **/ 
protected $_store; 

public function __construct(
\Magento\Store\Api\Data\StoreInterface $store, 
    ..... 
) { 
    $this->_store = $store; 
} 

public function getLocaleCode() 
{ 
    return $this->_store->getLocaleCode(); 
} 

呼叫使用$block->getLocaleCode()模板文件getLocaleCode()功能应该返回类似en_EN