Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal视图将2列合并为1列?_Drupal_Views_Union_Drupal Fields - Fatal编程技术网

Drupal视图将2列合并为1列?

Drupal视图将2列合并为1列?,drupal,views,union,drupal-fields,Drupal,Views,Union,Drupal Fields,我有两种内容类型,都有一个节点标题和一个文档附件,文档附件字段是不同的名称(来自两种不同的内容类型) 在我的视图中,我正在表中显示节点标题和文件名。节点标题在一列中都很好,但两个内容类型的附件字段显示在两个单独的列中,当只有两列时,总共有三列。每行都有一个单独的文档标题,但根据显示的内容类型的文档标题,其中一列或另一列现在始终为空 如何将这两个字段合并显示在同一列中,使其看起来无缝?知道这些文档来自两种不同的内容类型并不重要。这些都是由较大的分类术语组织的,因此仅使用两种不同的视图是不可行的。唉

我有两种内容类型,都有一个节点标题和一个文档附件,文档附件字段是不同的名称(来自两种不同的内容类型)

在我的视图中,我正在表中显示节点标题和文件名。节点标题在一列中都很好,但两个内容类型的附件字段显示在两个单独的列中,当只有两列时,总共有三列。每行都有一个单独的文档标题,但根据显示的内容类型的文档标题,其中一列或另一列现在始终为空


如何将这两个字段合并显示在同一列中,使其看起来无缝?知道这些文档来自两种不同的内容类型并不重要。这些都是由较大的分类术语组织的,因此仅使用两种不同的视图是不可行的。

唉,视图帮助中的答案是正确的:

默认情况下,每个字段都是自己的 专栏。但是,您可以将 同一列中有多个字段。到 执行此操作时,请选择要删除的字段 表示列,然后选择 另一个字段并设置“列” 该字段的值。您可以将其放置为 在单个字段中可以选择多个字段 列,但仅为 列可以单击排序


我找到了这个答案,它对我很有用:


您可以在默认视图模块的另一个字段中将任何字段用作标记

因此,如果您想将文本字段合并在一起,假设您有值为“Hello”的字段A和值为“World”的字段B,并且您想要值为“Hello World”的合并字段:

1) 编辑字段A,选择“从显示中排除”,对字段B执行相同的操作 2) 将字段C创建为全局:文本,并确保其顺序在字段A和字段B之后(如果字段定义在目标字段之前,则只能将其用作标记)。 3) 现在,您可以在字段C的value textarea下看到可用的替换模式。它类似于[field A][field B]

现在,如果要基于其他两个字段计算数字字段,该方法类似于concat,但字段C除外,您将使用全局:数学表达式字段: 1) 编辑字段A,选择“从显示中排除”,对字段B执行相同的操作 2) 将字段C创建为全局:数学表达式,并确保其顺序在字段A和字段B之后(如果字段定义在目标字段之前,则只能将其用作标记)。
3) 现在,您可以在字段C中的value textarea下看到可用的替换模式。它类似于[field A]+[field B]

唉,答案在视图帮助中是正确的:默认情况下,每个字段都是自己的列。但是,可以在同一列中放置多个字段。为此,请选择要表示列的字段,然后选择另一个字段并将“column”值设置为该字段。您可以在一个列中放置任意多个字段,但只有列中的主字段可以单击排序。Kirk,您能解释一下这是如何实现的吗?在视图的表格格式选项中,您可以使一个字段与另一个字段位于同一列中。我很惊讶10年后在Drupal 8中仍然可以这样做。如果需要换行符,只需使用“
”作为分隔符。这是将两个字段合并为一个字段的正确解决方案。但如果我们需要为创建的新列排序,我们会这样做吗?假设我们为该列指定排序。它排序不正确。