Joomla语言切换器修改

问题描述

| 我试图更改可能的语言切换器模块的显示。想法是在jquery选择框中显示我的语言选项,然后进行更改以将网站检索为所选语言。 我的问题是没有以正确的方式输出认语言,并且在选择链接时没有建立链接
<?PHP
/**
 * @version     $Id: default.PHP 19022 2010-10-02 14:51:33Z infograf768 $
 * @package     Joomla.Site
 * @subpackage  mod_languages
 * @copyright   copyright (C) 2005 - 2010 Open Source Matters,Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

// no direct access
defined(\'_JEXEC\') or die(\'Restricted access\');
JHtml::_(\'stylesheet\',\'mod_languages/template.css\',array(),true);
$document = &JFactory::getDocument();
$document->addScript(\'jomres/javascript/jquery.ui.selectmenu.js\');  
$document->addScript(\'jomres/javascript/selectmenu.js\');  
?>

<select name=\"speedB\" id=\"speedB\"  onchange=\"Javascript: window.location.href=\'<?PHP echo $language->title;?>\'\">>

    <?PHP foreach($list as $language):?>



    <option value=\" <?PHP echo $language->active ? \'lang-active\' : \'\';?>\">



       <?PHP echo $language->title;?>





<?PHP endforeach;?></option>


            </select>
    

解决方法

        问题在于选项标签的显示方式。 value属性应包含一个将发送回浏览器的值,并且有一个选定的属性来确定将哪个值发送回浏览器。仅所选的属性将返回其值。 所以你需要像
<?php foreach($list as $language):?>
    <option value=\"<?php echo $language->title;?>\" <?php echo $language->active ? \'selected\' : \'\';?>
        <?php echo $language->title;?>
    </option>
<?php endforeach;?>
请注意,我没有Joomla可用,所以我无法检查在选项value属性中最适合使用
$language
的哪个字段。 \可能会提供缩写名称,例如
en-GB
或ѭ4short