Phalcon PHP NativeArray для доступа к многомерному массиву с помощью шаблона Volt

Мне удалось добавить поддержку нескольких языков в Phalcon, используя шаблон Volt.

Но я не могу получить доступ к многомерному NativeArray phalcon в вольт.

Вот моя функция getTranslation:

private function _getTranslation()
{
global $config;

if ( isset($config[$_SERVER['HTTP_HOST']]['language']) ) {
$language = $config[$_SERVER['HTTP_HOST']]['language'];
} else if ( $this->session->get('auth') ) {
$language = "pt";
} else {
//Ask browser what is the best language
$language = $this->request->getBestLanguage();
}

//Check if we have a translation file for that lang
if (file_exists(__DIR__ . "/../translations/".$language.".php")) {
require __DIR__ . "/../translations/".$language.".php";
} else {
// fallback to some default
require __DIR__ . "/../translations/en-US.php";
}

//Return a translation object
return new \Phalcon\Translate\Adapter\NativeArray(array(
"content" => $messages
));
}

Тогда я сетвар:

$this->view->setVar("t", $this->_getTranslation());

Который загрузит файл перевода с чем-то вроде этого:

$messages = array(
"pages" => array(
"index" => array(
"title" => "CREATE YOUR ACCOUNT TODAY",
"call_to_action" => "Join Now!",
"search_title" => "Find:",
"search_option" => "I Want To:",
"search_type" => "Type:",
"search_where" => "Located On:",
"search_button" => "GO",
)
);

В шаблоне Вольт я хотел бы получить доступ к чему-то вроде

$t['pages']['index']['call_to_action']

Который в вольт может быть:

<div class="call_to_action">{{ t._('pages').('index').('call_to_action') }}</div>

Но это не работает!

Есть ли способ получить доступ к многомерным элементам NativeArray в шаблоне вольт?

0

Решение

Попробуй это..

Для получения дополнительной информации обратитесь к ветке документация

{{ dump(t['pages']['index']['call_to_action']) }}

Пример вывода:

string 'Join Now!' (length=9)
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]