2014-02-06 159 views
0

我需要你的帮助,看似幼稚但我无法解决的问题。Drupal:块没有显示在特定的内容类型页面

我想激活块(即已经被激活其他内容类型的网页和工作得很好),以显示它的一个新的内容类型。我刚刚在admin-> structure-> block-> configure->中查看了该特定内容类型的可见性参数中的框,就像我为其他人做的那样。但是,它并没有显示出来。

这里是一个screenshot块参数配置(你永远不知道^^)。

该地块位于sidebar_second region。所以我检查了dpm()这个区域是否设置了两种内容类型。

Here我可以看到,它实际上是为我的内容类型basic page设置的,其中块显示出良好

但是here我看到我的区域不存在在所有,从而我的块不会出现。

我创建了一个新的试块和位于它sidebar_second地区以及以确定问题是特定块本身或内容类型页......显然,我想这是因为它的第二个解决方案也没有出现。

而且,我试图找到块到sidebar_first区域(即已经存在content-type testimonial)。不幸的是,它也不工作。当然,它的工作原理以及在content-type basic page ...

为了确保页面的代码是不是在我testimonial.module或模板重写,我两次检查我实现了钩,我所有的模板文件...我没有发现可能导致这个问题的东西。

最后,我一派我的问题,发现错误报告(因为封闭不能转载):https://drupal.org/node/1777072,但我认为,这将是因为它发生很倒霉...

要选择,这肯定是一个错误,我没有看到,而是发生在世界上10个人的极罕见的错误xD

这就是为什么我需要你的帮助,'stackoverflow的人!

回答

0

我只是想让你知道,我看着办吧。

的确,我的函数hook_node_view()实现了menu_set_active_item("testimonial")来解决导航细节(强制突出显示菜单项......)。然而,修改q变量在URL和的Drupal没有了该网页实际上是节点类型见证(并认为这实际上是一个视图)知道。

因此,我的块不能出现,因为它应该显示在节点类型的褒奖(而不是在视图上)。

所以,我不得不保存我的网页的真正本质在一个变量使用menu_get_active_trail()实施menu_set_active_item()之前。

最后,我不得不通过我的hook_block_view()这个变量来显示该块。

我是对不起因为没有给你所有必要的信息来回答我的问题。我认为自定义代码不是很可疑,但我错了。我仍然是一名初级Drupal开发人员,我不知道menu_set_active_item()方法的确做了。不过谢谢你,祝你周末愉快!

0

我的第一个,虽然它的告别赛内容类型可以使用不同的页面模板到基本页面内容类型。

您需要行:

<?php echo render($page['sidebar_first']); ?> 

在由告别赛使用的页面模板。

嗯,其实我一点儿也不相信这是正确的解决方案,但我会后万一它可以帮助...

相关问题