Я хочу вернуть значение JText из моего файла helper.php из моего собственного модуля.
class modMyFormularHelper
{
public static function getValue()
{
$test = JText::_('MOD_MYFORMULAR_VALUE');
return $test;
}
Для этого у меня есть «de-DE.mod_myformular.ini» в языковой папке. Проблема в том, что я получаю только MOD_MYFORMULAR_VALUE во внешнем интерфейсе.
Если я пишу JText в default.php из папки tmpl … Это работает отлично!
Итак, как я могу получить языковые строки в файле помощника? Спасибо
У вас есть два варианта. Первое, что вы уже знаете, это миграция JText :: _ (); метод к файлу default.php. Второй — вручную загрузить языковой файл внутри метода getValue () следующим образом:
JFactory::getLanguage()->load('mod_myformular', $basePath);
Хотя это и не обязательно, вам может понадобиться установить второй $ basePath, если нужный языковой файл находится в бэкэнде.
Однако для этого экземпляра, поскольку вы не выполняете никаких операций CRUD и метод getValue () всегда будет возвращать одно и то же значение; имеет больше смысла просто визуализировать текст перевода языка внутри вашего файла default.php.
Просто точность, чтобы завершить этот хороший ответ: он работает, если ваш языковой файл находится в языковой папке по умолчанию (/ yourSite / language /).
Но если вы хотите загрузить языковые файлы вашего пользовательского модуля, вам нужно помочь Joomla следующим образом:
JFactory::getLanguage()->load('mod_myformular', JPATH_SITE.'/modules/mod_myformular');