обычно шаблоны имеют функцию smarty: {l s="string"}
, а модули просто используют $this->l('string');
. На контроллерах функция l() кажется недоступной, поэтому qhat, если я хочу настроить текст для перевода из backoffice?как использовать переводы в контроллерах prestashop?
2
A
ответ
0
в обоих случаях используются методы из класса Translate
, например. для модульных переводов Translate::getModuleTranslation(...)
вы можете проверить classes/Transalte.php
и найти там статический метод getAdminTranslation(...)
и в доступных дочерних классах AdminController l()
метод, который его использует.
2
Он доступен в контроллерах. Вам просто нужно добавить объект модуля в игру.
Вы должны сделать это
$this->module->l('Your string to translate', 'file_name');
Например, если вы находитесь в validation.php
ваши 'file_name'
должны быть только 'validation'
Так полный пример выглядит следующим образом
$this->module->l('Your string to translate', 'validation');
Смежные вопросы
- 1. Включить переводы в модуль PrestaShop
- 2. Prestashop: использовать глобальные переводы тем в модуле переопределения
- 3. Как передать переводы с модуля на шаблон smarty в prestashop?
- 4. Ember: как использовать переводы i18n в коде контроллера?
- 5. Как использовать HelperList в prestashop
- 6. Как использовать modalViewController одинаково в двух контроллерах?
- 7. Как использовать `postUpdate` в контроллерах CRUD?
- 8. Как использовать другую модель в разных контроллерах
- 9. Как использовать одну директиву в нескольких контроллерах?
- 10. , как повторно использовать функцию в нескольких контроллерах
- 11. Как использовать GameCenterManager в контроллерах нескольких представлений
- 12. как использовать prestashop с mongoDB?
- 13. Соната: переводы с параметрами
- 14. Как использовать php в файле .tpl prestashop
- 15. Как использовать действие контроллера во всех контроллерах
- 16. Использовать manifest.json в контроллерах и представлениях (sapui5)
- 17. Нельзя использовать переменные в угловых контроллерах
- 18. Как определить константы в контроллерах?
- 19. PHP Переводы
- 20. Как сделать переводы qml
- 21. Как переписать переводы Woocommerce
- 22. Как использовать прототипное наследование в контроллерах в node.js
- 23. Как использовать модели в консольных контроллерах в Yii2?
- 24. Как использовать OutputCache в контроллерах PartialView в MVC 5, C#?
- 25. Переводы в JOptionPane
- 26. Переводы WPF
- 27. Переводы в PHP
- 28. Как использовать код на всех контроллерах в Laravel
- 29. Как использовать авторизованное имя пользователя в других контроллерах
- 30. Как использовать значения angularFireAuth в контроллерах и службах?
Ммм, а как насчет веб-интерфейсе контроллеры? – Stratboy
Я просто не знаю, почему вам нужно перевести что-то в контроллере frontend, почему бы и нет. присваивать необходимую «строку» переменной smarty в контроллере, а затем '{l s =" string "}' в шаблоне? по умолчанию я не вижу способов сделать это –
у разработчиков, у нас всегда есть необходимость, если мы спросим :) В этом случае мне нужно программно строить строки на основе нескольких переменных и (только), а затем назначать их smarty vars. Я не вижу пути, как вы. Я думаю, вы правы: мы не можем. Но это довольно странно: я не вижу смысла в создании функции l() для модулей, но не для интерфейсных контроллеров. Оба назначают умные вары, поэтому им это нужно. Ба ... – Stratboy