帮助程序.php中的 JText 字符串


JText string in helper.php

我想从我的助手.php从我自己的模块返回一个 JText 值。

class modMyFormularHelper
{ 
  public static function getValue()
  {
    $test =  JText::_('MOD_MYFORMULAR_VALUE');
    return $test;
  }

为此,我在语言文件夹中有一个"de-DE.mod_myformular.ini"。问题是我只在前端得到MOD_MYFORMULAR_VALUE。

如果我在默认值中编写 JText.php从 tmpl 文件夹...这工作正常!

那么如何获取帮助程序中的语言字符串呢?谢谢

您有两个选择。 第一个你已经知道的,就是迁移 JText::_();方法到默认.php文件。 第二种是在 getValue() 方法中手动加载语言文件,如下所示:

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

尽管不是必需的,但如果所需的语言文件位于后端,则可能需要设置第二个$basePath。

但是,对于此实例,由于您没有执行任何 CRUD 操作,并且 getValue() 方法将始终返回相同的值;因此,简单地在默认文件中呈现语言翻译文本更有意义.php 文件。

只是完成这个好答案的精度:如果您的语言文件位于默认语言文件夹(/yourSite/language/)中,它可以工作。

但是如果你想加载自定义模块的语言文件,你必须像这样帮助Joomla:

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