In the 'Select Dynamic' field, it is possible to dynamically change the table columns from which list will be populated depending on the current language.

To achieve this, 2 options are used and a specific '[lang]' string :


Language Detection

Select Joomla language or GeoIP language. If your data table manage a language field, you can enable the detection of the language and drop down list will be filter by this language.

  • Joomla!: Language detection will be based on the Joomla! language configuration
  • GeoIP: Language detection will be based on user IP address. To use GeoIP, you must enable GeoIP module from Apache.

Language Codes / Default

  • Language Codes : List of language codes separated by a comma
  • Default : Default language code if detected language code is not in the list

How does it work?

First the field retrieves the language code based on the 'Language detection' option value. If the detected language code is not in the 'Language Codes' option list, it will use the 'Default' one.

When this is done, it will replace all occurrences of the '[lang]' string in the SQL query that is used to retrieve the list of options:

'Query' option set as 'Construction'

Replacement will be done in 'Options Name', 'Options Value', 'Where' and 'Order By' option values.

'Query' option set as 'Free'

Replacement will be done in the 'SQL Query' option value.

'Custom attributes' column values will also be part of the replacement process no matter which Query configuration is set.

Example

Let's say the detected language is 'FR'.

In this case, the select list will be populated with options which values will be retrieved from the 'code_fr' table column, names from 'name_fr' and attributes from 'featured' and 'alias_fr'.