如何获取 joomla 语言列表

发布于 2024-11-29 06:04:00 字数 202 浏览 0 评论 0原文

我需要获取我的 joomla 网站中安装的所有语言的语言列表,才能使用下拉列表中的列表。

$lg = &JFactory::getLanguage();
foreach ($lg->getKnownLanguages() as $l)
echo $l->getName() . ', ';

我该怎么办?

i need to get languages list to all languages installed in my joomla site to use the list in drop down list.

$lg = &JFactory::getLanguage();
foreach ($lg->getKnownLanguages() as $l)
echo $l->getName() . ', ';

what shall i do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

久而酒知 2024-12-06 06:04:00

正如您在 ContentLanguage 字段类型文档中看到的:

http://docs.joomla.org/ContentLanguage_form_field_type

$languages = JLanguage::getKnownLanguages();

更多信息在这里:

https://stackoverflow.com/a/26977901/634177

As you can see in ContentLanguage field type documentation:

http://docs.joomla.org/ContentLanguage_form_field_type

$languages = JLanguage::getKnownLanguages();

More info here:

https://stackoverflow.com/a/26977901/634177

撩人痒 2024-12-06 06:04:00

Firsty DB 查询:

$db =& JFactory::getDbo();
$db->setQuery(
    'SELECT sef, title_native' .
    ' FROM #__languages' .
    ' ORDER BY sef ASC'
);
$options = $db->loadObjectList();
$selected = "en_GB"

其次在布局中:

echo JHtml::_('select.options', $options, 'sef', 'title_native', $selected);

这将输出 HTML

编辑:
如果您想在 JForm (Joomla > 1.6) 中使用它,有一个名为“contentlanguage”的字段类型

<field name="languages" type="contentlanguage" />

Firsty DB Query:

$db =& JFactory::getDbo();
$db->setQuery(
    'SELECT sef, title_native' .
    ' FROM #__languages' .
    ' ORDER BY sef ASC'
);
$options = $db->loadObjectList();
$selected = "en_GB"

Secondly in your layout:

echo JHtml::_('select.options', $options, 'sef', 'title_native', $selected);

This will output HTML <select> tag with "English" selected by default

EDIT:
Should you want to use it in JForm (Joomla > 1.6) there is a field type called "contentlanguage"

<field name="languages" type="contentlanguage" />
晒暮凉 2024-12-06 06:04:00

您还可以使用适当的 com_languages 类

JLoader::register('LanguagesModelInstalled', JPATH_ADMINISTRATOR.DS.'components'.DS.'com_languages'.DS.'models'.DS.'installed.php');
$lang = new LanguagesModelInstalled();
$current_languages = $lang ->getData();

,然后从检索到的数据创建选择列表

You also can use appropriate class of com_languages

JLoader::register('LanguagesModelInstalled', JPATH_ADMINISTRATOR.DS.'components'.DS.'com_languages'.DS.'models'.DS.'installed.php');
$lang = new LanguagesModelInstalled();
$current_languages = $lang ->getData();

And then create the select list from retrieved data

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文