2011-08-10 43 views
2

我需要将语言列表安装到我的joomla站点中的所有语言以使用下拉列表中的列表。如何获取joomla语言列表

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

我该怎么办?

回答

2

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 <select>标签与 “英语” 默认选择

编辑: 应该你想在JForm(Joomla> 1.6)中使用它,有一个名为“contentlan”的字段类型瓜哥”

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

您还可以使用适当的类com_languages

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

,然后创建检索的数据