【问题标题】:Different Views inside a Custom Block in Drupal 7Drupal 7 中自定义块内的不同视图
【发布时间】:2014-12-14 18:47:42
【问题描述】:

我在我的模块中定义了一个自定义块,当用户使用导航菜单选择不同的部分时,我希望在该块中显示不同的视图。通过使用 hook_block_view() 我可以设置需要为该特定块呈现的内容。但是如何根据用户的选择来渲染不同的视图呢?

举个例子;

我有一个名为“客户”的块;

  • 当用户选择客户列表表单导航菜单时,我想在客户块中显示客户列表。

  • 当用户选择特定客户时,我想在客户块中显示该客户的详细信息。

在 Drupal 7 中实现这一目标的最佳方法是什么?

【问题讨论】:

    标签: drupal drupal-7 drupal-modules drupal-views drupal-blocks


    【解决方案1】:

    您可以从代码中定义块并使用您想要决定使用哪个视图的任何逻辑(简单的 if 或 switch php 语句)。然后你可以根据你的逻辑嵌入不同的视图:

    https://api.drupal.org/api/views/views.module/function/views_embed_view/7

    或者您可以自行获取查看结果和预存数据:

    https://api.drupal.org/api/views/views.module/function/views_get_view_result/7

    或者,您可以创建 2 个不同的块视图,并为每个块设置可见的页面。您可以在块设置中执行此操作,或者对于更复杂的逻辑,您可以使用上下文模块根据情况(页面,什么)将适当的块放置到区域。

    【讨论】:

      猜你喜欢
      • 2012-03-19
      • 1970-01-01
      • 1970-01-01
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多