问题描述
|
我试图更改可能的语言切换器模块的显示。想法是在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