【问题标题】:Joomla 2.5: Distinct based on the language website with navigatorJoomla 2.5:基于语言网站不同的导航器
【发布时间】:2013-10-23 17:47:19
【问题描述】:

我有一个 joomla 2.5 双语网站,我在 index.php 中有以下代码

<script type="text/javascript"> // <![CDATA[
    if ( (navigator.userAgent.indexOf('Android') != -1) ) {
        document.location = "a.html";
    } // ]]>
</script>

因此,如果您从 Android 手机/平板电脑登录,它将引导您访问 a.html 链接。

我想做的是:

假设网站的网址是 www.test.com/index.php?lang=en 所以当您从 android 登录时,它会引导您访问 a.html当您从 www.test.com/index.php 登录时?lang=fr 应该 引导您进入 b.html 。 p>

我需要根据语言进行区分。

提前致谢。

【问题讨论】:

  • 最好使用重定向服务器端(即使用标头)而不是使用 javascript
  • Oriol> 对不起,伙计,没有看到你的消息。使用标题是什么意思?
  • 我的意思是en.wikipedia.org/wiki/…

标签: joomla navigator


【解决方案1】:

你可能会使用这样的东西:

<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
if ($menu->getActive() == $menu->getDefault( 'en-GB' )) { ?>
        <script type="text/javascript"> // <![CDATA[
           if ( (navigator.userAgent.indexOf('Android') != -1) ) {
               document.location = "a.html";
           } // ]]>
        </script>
<?php }
elseif ($menu->getActive() == $menu->getDefault( 'fr-FR' )) { ?>
        <script type="text/javascript"> // <![CDATA[
           if ( (navigator.userAgent.indexOf('Android') != -1) ) {
               document.location = "b.html";
           } // ]]>
        </script>
<?php }
?>

请注意,我还没有对此进行测试,如果它有效,请告诉我,如果无效,我可以更新它。

更新:

正如 Oriol 所说,最好重定向服务器端而不是 javascript。昨天我在搞乱代码,我写的代码有一半起作用了:

<?php
$lang = JFactory::getLanguage();
$app = JFactory::getApplication();
$menu = $app->getMenu();
if ($menu->getActive() == $menu->getDefault( 'en-GB' )) {
?>
        <script type="text/javascript">
            alert("<?php echo $lang->getTag() ?>");
        </script>
<?php
}
elseif ($menu->getActive() == $menu->getDefault( 'fr-FR' )) {
?>
        <script type="text/javascript">
            alert("<?php echo $lang->getTag() ?>");
        </script>
<?php
}
?>

然后它基本上会获取当前的语言标签和警报,这取决于正在查看网站的语言。所以它会提醒en-GBfr-FR。尝试在 if 和其他 else 语句中使用服务器端重定向

【讨论】:

  • 不,它不起作用。我在想这样的事情: if ( (navigator.userAgent.indexOf('Android') != -1) ) && lang=("en-GB") {
  • Lodder> 网站崩溃。只是一个白屏。
  • 谢谢,我很感激。
  • 您在问题中提供的 Javascript,它自己工作了吗?
  • 重定向的触发条件是操作系统是 Android 还是 iPhone。如果您从 PC/Mac 浏览网站,我不希望触发重定向。
猜你喜欢
  • 2013-02-25
  • 2012-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-02
  • 1970-01-01
相关资源
最近更新 更多