2015-11-15 2 views

ответ

0

в обоих случаях используются методы из класса Translate, например. для модульных переводов Translate::getModuleTranslation(...) вы можете проверить classes/Transalte.php и найти там статический метод getAdminTranslation(...) и в доступных дочерних классах AdminController l() метод, который его использует.

+0

Ммм, а как насчет веб-интерфейсе контроллеры? – Stratboy

+0

Я просто не знаю, почему вам нужно перевести что-то в контроллере frontend, почему бы и нет. присваивать необходимую «строку» переменной smarty в контроллере, а затем '{l s =" string "}' в шаблоне? по умолчанию я не вижу способов сделать это –

+1

у разработчиков, у нас всегда есть необходимость, если мы спросим :) В этом случае мне нужно программно строить строки на основе нескольких переменных и (только), а затем назначать их smarty vars. Я не вижу пути, как вы. Я думаю, вы правы: мы не можем. Но это довольно странно: я не вижу смысла в создании функции l() для модулей, но не для интерфейсных контроллеров. Оба назначают умные вары, поэтому им это нужно. Ба ... – Stratboy

2

Он доступен в контроллерах. Вам просто нужно добавить объект модуля в игру.

Вы должны сделать это

$this->module->l('Your string to translate', 'file_name'); 

Например, если вы находитесь в validation.php ваши 'file_name' должны быть только 'validation'

Так полный пример выглядит следующим образом

$this->module->l('Your string to translate', 'validation'); 
Смежные вопросы