You are here

匿名用户显示管理员toolbar的解决

在一个实际的项目中,我们遇到了这样的一个问题,匿名用户访问一个内容类型下面的节点时,顶部显示出来了管理员才能显示的Toolbar,也就是顶部的导航条,其它内容类型没有这个问题。
为了解决这个问题:
1,首先尝试禁用当前的主题,使用核心自带的主题bartik作为默认主题,这样可以排查是不是主题层出现了问题。排查以后,发现问题还在。
2,检查与内容类型相关的模块,负责页面显示的,我这里用的Panelizer模块,采取的措施,是禁用Panelizer模块,禁用后,检查问题是否存在,发现问题消失了。
3,这个时候,我们知道是Panelizer这里出了问题,启用这个模块,问题出现,到这个内容类型的panelizer的管理页面,禁用除标题以外的所有内容窗格,发现问题消失了。
4,采用二分法,逐个的排查内容窗格的启用,最终定位到,一个内容窗格启用了,问题就出现了,禁用了问题就消失了。
5,检查这个内容窗格里面的设置,里面有一个自定义的显示规则,采用php code的形式:
global $user;
if( $user->uid = $contexts['panelizer']->data->uid){
return TRUE;
}else{
return FALSE;
}

检查代码发现:
$user->uid = $contexts['panelizer']->data->uid,
这里写错了,你知道错在哪里了吗?

论坛:

Drupal版本: