CMSMS - 使用php include()生成空白页面

时间:2014-07-14 20:42:08

标签: php include content-management-system

这是我第一次使用CMSMS,经过研究,我发现必须使用用户自定义标签(UDT)来使用自定义php。我做得很成功,我的所有代码都有效。我想包含一个用于移动检测的php文件,但当我这样做并刷新页面时,它只是一个完全空白的页面。

当我查看来源时,它完全是空的。我在include之后有一个if语句,并将其缩小到包含行是问题。这很简单:

include '/Mobile-Detect.php';
$detect = new Mobile_Detect;

// any mobile device (phones or tablets)
if($detect->isMobile()){
    if(!$_COOKIE['ppc'] == 'true'){
        header('Location: /mobile');
    }else{
        header('Location: /mobile?ppc=true');
    }
}

所以我不确定为什么其他UDT中的其他代码块工作,而include甚至不会抛出错误。希望更有经验的CMSMSer可以帮助我解决这个问题。

谢谢

1 个答案:

答案 0 :(得分:0)

我通过编辑根级别的include.php文件解决了这个问题。我首先要检查它是否是一个管理页面,因为该文件包含在前端和后端。然后运行我的代码来检查移动设备。

最终结果:

if(!isset($CMS_ADMIN_PAGE)){
// code to be executed on non-admin pages
}

注意: 我也尝试过javascript,但是在UDT中它期待php,所以我将它添加到模板然后它试图将我的if语句中的花括号渲染为smarty标签。太烦人了。