Zend framework2 如何将语言变量传递给ZF2中的布局?
我刚刚启动了Zend Framework 2,我希望能够将一种语言附加到doctype 引导:Zend framework2 如何将语言变量传递给ZF2中的布局?,zend-framework2,Zend Framework2,我刚刚启动了Zend Framework 2,我希望能够将一种语言附加到doctype 引导: $this->layout()->setVariable('language', 'nl'); Layout.phtml <html lang="<?php echo $language;?>"> 您至少有两个选项: 您可以编写自定义视图帮助器来解析和返回语言,并在布局中使用它,如: <html lang="<?php echo $this->
$this->layout()->setVariable('language', 'nl');
Layout.phtml
<html lang="<?php echo $language;?>">
您至少有两个选项:
您可以编写自定义视图帮助器来解析和返回语言,并在布局中使用它,如:
<html lang="<?php echo $this->langHelper() ?>">
@foozy的另一种方法:
使用php的Locale
作为当前语言环境的容器。这将直接用于任何其他i18n材料(gettext、Zend\i18n、条令的可翻译等)
使用它:
<html lang="<?= Locale::getPrimaryLanguage(Locale::getDefault())?>">
public function onBootstrap(MvcEvent $e) {
$viewModel = $e->getApplication()->getMvcEvent()->getViewModel();
$viewModel->language = 'en';
}
// Now in your layout:
<html lang="<?php echo $this->language ?>">
use Locale;
public function onBootstrap(MvcEvent $e)
{
Locale::setDefault('en_GB');
}
<html lang="<?= Locale::getPrimaryLanguage(Locale::getDefault())?>">
<?php
if (!isset($locale)) {
$locale = Locale::getDefault();
}
?>
<html lang="<?= Locale::getPrimaryLanguage($locale)?>">
<? $this->layout()->locale = 'nl_NL' ?>