Drupal:Block不';无法显示在特定内容类型页面上
我需要你的帮助来解决一个看似幼稚但我无法解决的问题 我想激活一个块(该块已经为其他内容类型页面激活,工作正常)以在新的内容类型上显示它。我只是在admin->structure->block->configure->visibility parameters中选中了该特定内容类型的复选框,就像我对其他内容类型所做的一样。然而,它没有出现 下面是一个块参数配置(您永远不知道^^) 此块位于Drupal:Block不';无法显示在特定内容类型页面上,drupal,drupal-7,block,content-type,Drupal,Drupal 7,Block,Content Type,我需要你的帮助来解决一个看似幼稚但我无法解决的问题 我想激活一个块(该块已经为其他内容类型页面激活,工作正常)以在新的内容类型上显示它。我只是在admin->structure->block->configure->visibility parameters中选中了该特定内容类型的复选框,就像我对其他内容类型所做的一样。然而,它没有出现 下面是一个块参数配置(您永远不知道^^) 此块位于侧栏\u second区域中。因此,我使用dpm()检查了这两种内容类型中是否都设置了此区域 我可以看到这实际
侧栏\u second
区域中。因此,我使用dpm()
检查了这两种内容类型中是否都设置了此区域
我可以看到这实际上是为我的内容类型基本页面设置的,其中块显示得很好
但是我看到,我的区域根本不存在,因此我的块不会出现
我创建了一个新测试块,并将其定位在侧栏\u second
区域,以确定问题是特定块本身还是内容类型页面。。。显然,我猜这是第二种解决方案,因为它也没有出现
此外,我还尝试首先将我的块定位到侧栏
区域中(对于我的内容类型鉴定
,已经存在)。不幸的是,它也不起作用。当然,它在内容类型基本页面
上运行良好
为了确保页面代码不会在我的commential.module或template中被覆盖,我检查了两次我实现的挂钩和所有模板文件。。。我没有发现任何可能导致那个问题的东西
最后,我在谷歌上搜索了我的问题,发现了缺陷报告(由于无法复制而关闭):但我认为这将是非常不幸的事情
作为选择,这肯定是一个我看不到的错误,而不是一个发生在世界上10个人身上的uber罕见错误xD
所以我需要你们的帮助,伙计们 我的第一个想法是,推荐内容类型可以使用与基本页面内容类型不同的页面模板
您将需要以下线路:
<?php echo render($page['sidebar_first']); ?>
在推荐使用的页面模板中
嗯,实际上我一点也不相信这是正确的解决方案,但我会发帖子以防万一…我只是想让你知道我找到了答案
实际上,我的函数hook\u node\u view()
实现了menu\u set\u active\u item(“推荐”)
来解决导航细节(强制突出显示菜单项…)。但是,它修改了URL中的q
变量,Drupal不再知道该页面实际上是一个节点类型的证明(并认为它实际上是一个视图)
因此,我的块无法显示,因为它应该显示在节点上类型鉴定(而不是视图上)
因此,在实现menu\u set\u active\u item()
之前,我必须使用menu\u active\u trail()
将页面的真实性质保存在变量中
最后,我不得不在我的hook\u block\u view()
中传递这个变量来显示块
很抱歉,我没有向您提供回答我问题所需的所有信息。我认为自定义代码不是很可疑,但我错了。我仍然是一名初级Drupal开发人员,我不知道menu\u set\u active\u item()
方法到底做了什么。谢谢你,祝你周末愉快