0

我正在尝试将语言翻译添加到我的 js 文件中。因此,我已将此代码添加到组件中的 view.html.php 文件中:

JText::script('COM_TEST_ENTER_LABEL');

如果我查看 html 源代码,我现在会看到:

 <script type="text/javascript">
    (function() {
      var strings = {"COM_TEST_ENTER_LABEL":"Enter a label"};
      if (typeof Joomla == 'undefined') {
        Joomla = {};
        Joomla.JText = strings;
      }
      else {
        Joomla.JText.load(strings);
      }
    })();
  </script>

现在我尝试将其添加到我的 js 文件中:

alert(Joomla.JText._('COM_TEST_ENTER_LABEL'));

但我只是在萤火虫中得到错误:TypeError: Joomla.JText._ is not a function

我想知道它是否与jQuery有关。我在代码(view.html.php)中有一堆 jquery 脚本,它们是在以下添加

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
  <script src="https://ajax.aspnetcdn.com/ajax/jquery.migrate/jquery-migrate-1.1.1.min.js" type="text/javascript"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js" type="text/javascript"></script>
  <script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js" type="text/javascript"></script>
  <script src="/components/com_test/js/cam.js" type="text/javascript"></script>
  <script src="/js/jquery.noconflict.js" type="text/javascript"></script>

如果您查看 html 源代码,这是在内容之前JText::script。不知道是不是这个原因?如果是,我不确定我能做些什么?Joomla 自己订购这个,因为我的代码试图把它放在第一位。

4

2 回答 2

4

Joomla.JText._是一个基于 MooTools 的功能,因此您需要允许 MooTools 加载到您的模板中(如果您要删除它,很多人都会这样做)。

于 2013-05-24T00:57:54.580 回答
1

您可以使用以下符号代码访问字符串。

警报(Joomla.JText.strings.COM_TEST_ENTER_LABEL);

这会在 Joomla 对象的 JText 属性的字符串属性中查找字符串 COM_TEST_ENTER_LABEL。

请注意,JText::_ 是一个 PHP 函数。

希望有帮助..

于 2013-05-23T14:25:55.987 回答