代码之家  ›  专栏  ›  技术社区  ›  Ronn

Drupal:视图:块列表中的分组关系

  •  6
  • Ronn  · 技术社区  · 17 年前

    我明白了:

    partner name 1
    - doc name 1
    partner name 1
    - doc name 2
    partner name 1
    - doc name 3
    partner name 2
    - doc name 4
    partner name 2
    - doc name 5
    partner name 3
    - doc name 6
    

    但我希望:

    partner name 1
    - doc name 1
    - doc name 2
    - doc name 3
    
    partner name 2
    - doc name 4
    - doc name 5
    - doc name 6
    
    4 回复  |  直到 17 年前
        1
  •  7
  •   jhedstrom    17 年前

    听起来你走对了方向。为了使分组按照上面的大纲工作,您需要将显示样式设置为“html列表”,然后在样式选项下,将分组字段设置为合作伙伴名称。完成此操作后,您可以编辑partner name(合作伙伴名称)字段,然后选择“从显示中排除”,这将为您提供所需的格式。

        2
  •  2
  •   SnapShot    17 年前

    我今天遇到了同样的问题。为了排除故障,我重新安装了一个空的Drupal,只添加了我的内容类型和关系。创建视图时,我没有看到问题。一旦我开始在中添加模块,我发现开发模块中的主题开发人员导致了这个问题。尝试取消选中它并重新加载视图。您也可以通过保持项目处于选中状态、打开其他浏览器并以不会看到主题开发人员的身份进入视图来查看这一点。

        3
  •  0
  •   Icode4food    15 年前

    我在使用 views_field_view 模块,允许您将视图指定为字段。

    首先,我创建了一个视图,其中包含我想要分组的单个字段,然后使用以下代码覆盖查询。

    function hook_views_pre_execute(&$view) {
        if ($view->name == 'phone_search') {
            $query = 'SELECT DISTINCT node_data_field_status.field_status_value AS node_data_field_status_field_status_value
                FROM content_type_phone node_data_field_status';
            $view->query->query = $query;
            $view->query->final_query = $query;
            $view->query->count_query = $query;
        }
    }
    

    nid 和 vid 当您将其设置为选择distinct时,字段,这样您就不会实际获得distinct值。通过像这样破解查询,我解决了这个问题。

    views_field_view 模块允许我创建第二个视图,其中包含我希望在组中显示的字段。将view_字段添加到主视图(查询覆盖的视图)时,可以指定要作为参数传入的字段。然后必须在子视图中指定此参数。

    这一切都有点复杂,但我希望这是明确的!

        4
  •  0
  •   tanner    12 年前

    我通常编写一个模块来产生这些结果,因为我发现编写sql要比与视图搏斗更快、更易于维护。

    也就是说,有许多视图插件提供这种类型的功能。我没有对它们进行测试,因为我发现通常使用少量的自定义代码就可以更轻松地处理这些问题,但下面有几个项目寻求为视图提供此类问题的解决方案。

    https://drupal.org/project/views_complex_grouping

    https://drupal.org/project/views_grouped_table

    还有很多,但我只能发布两个链接,因为我不经常在这个网站上回答问题:)

    干杯