joomla — строка JText в помощнике. Переполнение стека

Я хочу вернуть значение 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 … Это работает отлично!

Итак, как я могу получить языковые строки в файле помощника? Спасибо

0

Решение

У вас есть два варианта. Первое, что вы уже знаете, это миграция JText :: _ (); метод к файлу default.php. Второй — вручную загрузить языковой файл внутри метода getValue () следующим образом:

JFactory::getLanguage()->load('mod_myformular', $basePath);

Хотя это и не обязательно, вам может понадобиться установить второй $ basePath, если нужный языковой файл находится в бэкэнде.

Однако для этого экземпляра, поскольку вы не выполняете никаких операций CRUD и метод getValue () всегда будет возвращать одно и то же значение; имеет больше смысла просто визуализировать текст перевода языка внутри вашего файла default.php.

0

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

Просто точность, чтобы завершить этот хороший ответ: он работает, если ваш языковой файл находится в языковой папке по умолчанию (/ yourSite / language /).

Но если вы хотите загрузить языковые файлы вашего пользовательского модуля, вам нужно помочь Joomla следующим образом:

JFactory::getLanguage()->load('mod_myformular', JPATH_SITE.'/modules/mod_myformular');
0

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