Joomla 1.5 中的 PHP 移动检测脚本

发布于 2024-12-09 22:15:08 字数 1147 浏览 0 评论 0原文

我在从移动页面转到 Joomla 1.5 中实现的主页时遇到问题。 我正在使用位于 http://code.google.com/ 的 PHP Mobile Detect 脚本p/php-mobile-detect/

首先,我在一个简单的网站(不是 Joomla)中测试了我的脚本。 这是实际使用的代码(index.php):

<?php
session_start();

include("Mobile_Detect.php");
$mobile_detect = new Mobile_Detect();

if (isset($_GET['ua']) && $_GET['ua']==1){
    $_SESSION['sitemode'] = 1;
}elseif (isset($_GET['ua']) && $_GET['ua']==0){
    unset($_SESSION['sitemode']);
}    
if ($mobile_detect->isMobile() && !isset($_SESSION['sitemode'])) {
    // any mobile platform
    header('Location: mobile/');
}
// site related codes goes here...
?>

因此,当使用移动设备访问网站时,它将重定向到移动网站(wwwroot 中的子文件夹)。在移动网站中时,用户可以通过提供的链接选择使用主网站(位于 mobile/index.php 中):

<a href="../index.php?ua=1">Fullsite</a>

移动页面中也启用了会话。

然后,在主网站中,用户可以浏览主网站的其他页面,而无需重定向到移动页面。这在独立的 php 脚本上完美运行,根目录中的 index.php 作为引导程序。

但是,当我尝试在 Joomla 中实现它时,它仅适用于第一个重定向。当我浏览 Joomla 网站中的其他页面时,它会重定向到移动页面。上面的脚本已添加到 Joomla 引导程序 (index.php) 的顶部,

谢谢!

I'm having problem with going from mobile page to main page implemented in Joomla 1.5.
I'm using PHP Mobile Detect script found at http://code.google.com/p/php-mobile-detect/

First I tested my script in a simple website (not Joomla).
This is the actual code used (index.php):

<?php
session_start();

include("Mobile_Detect.php");
$mobile_detect = new Mobile_Detect();

if (isset($_GET['ua']) && $_GET['ua']==1){
    $_SESSION['sitemode'] = 1;
}elseif (isset($_GET['ua']) && $_GET['ua']==0){
    unset($_SESSION['sitemode']);
}    
if ($mobile_detect->isMobile() && !isset($_SESSION['sitemode'])) {
    // any mobile platform
    header('Location: mobile/');
}
// site related codes goes here...
?>

So, when the website is accessed using a mobile device it will redirect to the mobile website (subfolder in wwwroot). When in the mobile website, user can choose to use the main website instead by a provided link (this is in mobile/index.php):

<a href="../index.php?ua=1">Fullsite</a>

Session is also enabled in the mobile page.

Then when in main, user are able to browse to other pages of the main website without being redirected to the mobile page. This works perfectly on the standalone php script with index.php in root as the bootstrap.

However, when I try to implement it in Joomla, it only works on the first redirect. When I browse to other pages in the Joomla site it redirects to the mobile page. The script above is added at the top of Joomla's bootstrap (index.php)

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼中杀气 2024-12-16 22:15:08

我很久以前就明白了这一点。刚刚有机会更新并与可能遇到同样问题的其他人分享解决方案。

我所做的就是将上面问题中的 Joomla 引导程序中的所有代码 (index.php) 移至模板引导程序中(例如 joomla_root/templates/template_name/index.php)。

I figured this out quite a while back. Just got the chance to update and share the solution with anybody else who might have encountered this same problem.

All I did was moved all the codes that I have in Joomla's bootstrap as in the question above (index.php) into the template bootstrap (ex. joomla_root/templates/template_name/index.php).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文