Primero que todo actualice a 3.9.5.
Segundo le toca hacer un template oerride del módulo de lenguajes creando una carpeta html en la carpeta de la plantilla y dento de ella una mod_languages ( o bien pida un override en la segunda pestaña de la opción de la plantilla después de los archivos ). Una vez puesto hay un archivo default.php
(Si entiende de php) En el default.php hay dos partes, la primera que es la estructura de dropdown y la segunda la del menú de banderas. Solo tendría que reemplazar la estructura de selector por una de lista.
Algo por este estilo (si quiere use este código para reemplazar el default.php que le menciono):
Code: Select all
<?php
/**
* @package Joomla.Site
* @subpackage mod_languages
*
* @copyright Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('stylesheet', 'mod_languages/template.css', array('version' => 'auto', 'relative' => true));
if ($params->get('dropdown', 0) && !$params->get('dropdownimage', 1))
{
JHtml::_('formbehavior.chosen');
}
?>
<div class="mod-languages<?php echo $moduleclass_sfx; ?>">
<?php if ($headerText) : ?>
<div class="pretext"><p><?php echo $headerText; ?></p></div>
<?php endif; ?>
<?php if ($params->get('dropdown', 0) && !$params->get('dropdownimage', 1)) : ?>
<div class="btn-group">
<?php foreach ($list as $language) : ?>
<?php if ($language->active) : ?>
<a href="#" data-toggle="dropdown" class="btn dropdown-toggle">
<?php echo strtoupper($language->sef);; ?>
<span class="caret"></span>
</a>
<?php endif; ?>
<?php endforeach; ?>
<ul class="<?php echo $params->get('lineheight', 0) ? 'lang-block' : 'lang-inline'; ?> dropdown-menu dropright" dir="<?php echo JFactory::getLanguage()->isRtl() ? 'rtl' : 'ltr'; ?>">
<?php foreach ($list as $language) : ?>
<?php if (!$language->active) : ?>
<li>
<a href="<?php echo htmlspecialchars_decode(htmlspecialchars($language->link, ENT_QUOTES, 'UTF-8'), ENT_NOQUOTES); ?>">
<?php echo $language->title_native; ?>
</a>
</li>
<?php elseif ($params->get('show_active', 1)) : ?>
<?php $base = JUri::getInstance(); ?>
<li class="lang-active">
<a href="<?php echo htmlspecialchars_decode(htmlspecialchars($base, ENT_QUOTES, 'UTF-8'), ENT_NOQUOTES); ?>">
<?php echo $language->title_native; ?>
</a>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
</div>
<?php elseif ($params->get('dropdown', 0) && $params->get('dropdownimage', 1)) : ?>
<div class="btn-group">
<?php foreach ($list as $language) : ?>
<?php if ($language->active) : ?>
<a href="#" data-toggle="dropdown" class="btn dropdown-toggle">
<span class="caret"></span>
<?php if ($language->image) : ?>
<?php echo JHtml::_('image', 'mod_languages/' . $language->image . '.gif', '', null, true); ?>
<?php endif; ?>
<?php echo $language->title_native; ?>
</a>
<?php endif; ?>
<?php endforeach; ?>
<ul class="<?php echo $params->get('lineheight', 0) ? 'lang-block' : 'lang-inline'; ?> dropdown-menu" dir="<?php echo JFactory::getLanguage()->isRtl() ? 'rtl' : 'ltr'; ?>">
<?php foreach ($list as $language) : ?>
<?php if (!$language->active) : ?>
<li>
<a href="<?php echo htmlspecialchars_decode(htmlspecialchars($language->link, ENT_QUOTES, 'UTF-8'), ENT_NOQUOTES); ?>">
<?php if ($language->image) : ?>
<?php echo JHtml::_('image', 'mod_languages/' . $language->image . '.gif', '', null, true); ?>
<?php endif; ?>
<?php echo $language->title_native; ?>
</a>
</li>
<?php elseif ($params->get('show_active', 1)) : ?>
<?php $base = JUri::getInstance(); ?>
<li class="lang-active">
<a href="<?php echo htmlspecialchars_decode(htmlspecialchars($base, ENT_QUOTES, 'UTF-8'), ENT_NOQUOTES); ?>">
<?php if ($language->image) : ?>
<?php echo JHtml::_('image', 'mod_languages/' . $language->image . '.gif', '', null, true); ?>
<?php endif; ?>
<?php echo $language->title_native; ?>
</a>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
</div>
<?php else : ?>
<ul class="<?php echo $params->get('inline', 1) ? 'lang-inline' : 'lang-block'; ?>" dir="<?php echo JFactory::getLanguage()->isRtl() ? 'rtl' : 'ltr'; ?>">
<?php foreach ($list as $language) : ?>
<?php if (!$language->active) : ?>
<li>
<a href="<?php echo htmlspecialchars_decode(htmlspecialchars($language->link, ENT_QUOTES, 'UTF-8'), ENT_NOQUOTES); ?>">
<?php if ($params->get('image', 1)) : ?>
<?php if ($language->image) : ?>
<?php echo JHtml::_('image', 'mod_languages/' . $language->image . '.gif', $language->title_native, array('title' => $language->title_native), true); ?>
<?php else : ?>
<span class="label"><?php echo strtoupper($language->sef); ?></span>
<?php endif; ?>
<?php else : ?>
<?php echo $params->get('full_name', 1) ? $language->title_native : strtoupper($language->sef); ?>
<?php endif; ?>
</a>
</li>
<?php elseif ($params->get('show_active', 1)) : ?>
<?php $base = JUri::getInstance(); ?>
<li class="lang-active">
<a href="<?php echo htmlspecialchars_decode(htmlspecialchars($base, ENT_QUOTES, 'UTF-8'), ENT_NOQUOTES); ?>">
<?php if ($params->get('image', 1)) : ?>
<?php if ($language->image) : ?>
<?php echo JHtml::_('image', 'mod_languages/' . $language->image . '.gif', $language->title_native, array('title' => $language->title_native), true); ?>
<?php else : ?>
<span class="label"><?php echo strtoupper($language->sef); ?></span>
<?php endif; ?>
<?php else : ?>
<?php echo $params->get('full_name', 1) ? $language->title_native : strtoupper($language->sef); ?>
<?php endif; ?>
</a>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php if ($footerText) : ?>
<div class="posttext"><p><?php echo $footerText; ?></p></div>
<?php endif; ?>
</div>
Aquí reemplacé el desplegable por una lista desplegable similar a la de banderas pero acondicionada a la plantilla para la que la diseñé.
Espero le sirva