как получить список языков Joomla - PullRequest
2 голосов
/ 10 августа 2011

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

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

что мне делать?

Ответы [ 3 ]

3 голосов
/ 17 ноября 2014

Как видно из документации по типу поля ContentLanguage:

http://docs.joomla.org/ContentLanguage_form_field_type

$languages = JLanguage::getKnownLanguages();

Более подробная информация здесь:

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

2 голосов
/ 24 января 2013

Вы также можете использовать соответствующий класс com_languages ​​

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

А затем создать список выбора из найденных данных

2 голосов
/ 10 августа 2011

Первый запрос к БД:

$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), есть тип поля, называемый "contentlanguage"

<field name="languages" type="contentlanguage" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...