这是我第一次使用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可以帮助我解决这个问题。
谢谢
答案 0 :(得分:0)
我通过编辑根级别的include.php
文件解决了这个问题。我首先要检查它是否是一个管理页面,因为该文件包含在前端和后端。然后运行我的代码来检查移动设备。
最终结果:
if(!isset($CMS_ADMIN_PAGE)){
// code to be executed on non-admin pages
}
注意:强> 我也尝试过javascript,但是在UDT中它期待php,所以我将它添加到模板然后它试图将我的if语句中的花括号渲染为smarty标签。太烦人了。