【问题标题】:Assign a block to more than 1 region将一个块分配给多个区域
【发布时间】:2010-08-21 12:42:36
【问题描述】:

如何将一个块(相同的块)两次或三次分配给不同的区域?这个想法不是在同一页面上多次显示相同的块,而是在不同页面的不同位置,因此可以使用四个“显示”:

  • $top_left 区域中的块 X
  • $top_right 区域中的块 X
  • $above_content 区域中的块 X
  • 块 X 隐藏

它应该放在哪里,应该就像在textare中添加节点路径一样简单,对吧?我知道这就是它的用途......

如果它是一个模块(请上帝不,不是另一个模块!),我想要一些细节。

谢谢。

【问题讨论】:

  • 您打算使用什么方法来确定您在哪个页面上,从而确定该块将显示在哪里?例如,您想按内容/节点类型在不同位置显示块吗?还是基于部分 URL?
  • drupal.org/project/multiblock 模块完成这项工作。
  • CitrusTree,页面/位置信息就足够了。这就是我用于块的东西。有时甚至只有 和 [其余的]。所以基于URL。就像标准块页面中的标准文本区域一样。

标签: drupal drupal-blocks drupal-regions


【解决方案1】:

您需要查看Context 模块,该模块可让您根据条件集分配块。您创建一个上下文,设置几个条件,然后针对您的块出现的那些条件创建一个反应。

所以,假设您想在首页以及用户登录时显示 Block X。当它是首页时,Block X 在 Region 1,但是当用户登录时,Block X在Region 2。

您将创建两个上下文:

  1. 条件:是首页,用户是匿名的,反应:在区域 1 中显示块 X
  2. 条件:用户已登录,反应在区域 2 中显示 Block X

我在这里进行概括,但您会看到安装 Context 时可以使用哪些条件和反应。

【讨论】:

  • 我听说过 Context,但找不到在哪里设置这些块。我了解条件。非常清楚。听起来它应该是一个 Drupal 核心模块。我在哪里可以找到 Context 的界面? :) 谢谢
  • 如果你下载了,除了Context,还需要开启Context UI。然后,您可以在 Site Building -> Context 访问 UI。
  • 顺便说一句:我尝试了 Context,但是如果您使用 Zen 作为基本主题,就会出现冲突或其他问题(我使用了一个修复程序,现在我喜欢 Context!)
【解决方案2】:

我们可以使用Multiblock module 而不是使用上下文。它更符合您的目的

【讨论】:

  • 上下文非常完美。多块有新的 moddelta,所以块类等也必须复制。
猜你喜欢
  • 2017-04-19
  • 2012-01-06
  • 1970-01-01
  • 2010-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多