【问题标题】:Drupal views 3 - missing "MULTIPLE FIELD SETTINGS" in entity referenceDrupal 视图 3 - 实体参考中缺少“多个字段设置”
【发布时间】:2013-08-02 06:35:45
【问题描述】:

上下文:内容类型 Person 具有对内容类型 Work 的引用(多个值),使用实体引用。

需要:显示引用给定作品的每个人物节点的标题,用逗号分隔

完成:带有反向引用的视图,正确的节点被获取。 (查看 7.x-3.7)

问题:无法显示以逗号分隔的值。注意:我通常使用 MULTIPLE FIELD SETTINGS 字段组中的“显示同一行中的所有值”下的“简单分隔符”显示类型来执行此操作。但是,此字段组在我的上下文中不可用。


已解决

我发现模块Views Merge Rows - 非常好用。如果它由于某种原因不支持 Features 模块,我可以拿它的一些代码来自己使用 hook_views_pre_render。

【问题讨论】:

    标签: drupal drupal-7 drupal-views drupal-views-relationship


    【解决方案1】:

    我可以通过使用 token_formatters 来解决这个问题。基本步骤(安装令牌格式化程序后):

    1. 与视图中的引用实体没有关系(不需要)
    2. 将实体引用字段添加到视图中
    3. 将格式化程序更改为“标记化文本”
    4. 对于“要输出的文本”,请使用令牌(我正在使用 [node:field-name])
    5. 对于“链接目的地”,使用令牌('我使用 [entity:url:path] 作为相对链接)
    6. 根据需要设置多个字段设置

    【讨论】:

      【解决方案2】:

      您在这里需要自定义视图格式,因为您谈论的是整个视图行而不是多个结果字段。您可以使用“无格式列表”并添加逗号以添加CSS或JS。

      你使用什么样的关系?您可以在外部编辑器中导出整个视图并提供链接吗?

      【讨论】:

        【解决方案3】:

        我遇到了类似的问题,我使用的是“引用实体”的实体引用关系而不是“引用实体”。 (引用在子级上,视图从父级开始)。

        当您在行 (dsm) 上运行 Drupal 系统消息时,它会适当地返回所有 nid 响应,但作为不同的结果行而不是作为单个对象;但是,由于 NID 字段(与许多其他字段一样)没有显示多个结果的选项,因此它只会获取第一个结果。

        我最终不得不从 Views PHP 字段中执行实体查询,并将当前行的 NID 作为字段条件之一。这似乎可以解决问题,而不是尝试使用 views_field_view 在视图中加载视图。

        $query = new EntityFieldQuery();
        $query->entityCondition('entity_type', 'node')
        ->entityCondition('bundle', '[your_content_type]')
        ->propertyCondition('status', 1)
        ->fieldCondition('[your_field_machine_name]', '[field_column_to_check]', $row->nid)
        ->addMetaData('account', user_load(1)); // Run the query as user 1.
        $result = $query->execute();
        

        【讨论】:

          【解决方案4】:

          我遇到了一个非常相似的问题:从我的内容类型到用户的多值实体引用的字段配置中没有可用的“多字段设置”。

          通过删除实体引用并直接使用我的内容类型的多值“用户 ID”字段来解决它。 “多字段设置”表单区域现在可用,我像往常一样选择了“在同一行中显示所有值”。现在这只会显示用逗号分隔的数字用户 ID(不需要)。但是在字段配置中还有一个设置“格式:”,我将其设置为“标签”。这将改为显示用户名。

          所以我想通过创建自定义格式化程序,您将能够以类似的方式显示关联的“工作”实体。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2020-08-31
            • 1970-01-01
            • 2019-01-24
            • 2020-03-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多