我正在做一个收集公司客户信息的项目,然后根据所提供的信息,将客户端与其他公司连接起来,这些公司可以帮助他们满足特定的需求。
我在项目的前半部分进行了工作,根据公司参与使用规则的行业/业务类型,有条件地收集数据。现在,我需要使用收集到的信息,并过滤一个视图,以找到匹配的公司。
基本上,一旦客户端提交了他们最后完成的应用程序(少数几种内容类型中的不同字段的集合),在幕后,我需要找到一种方法来过滤其他具有匹配特性的公司的视图,然后对于每一家匹配过滤视图的公司,在单独的内容类型中添加一个新节点,然后实体引用该节点返回到最终确定的应用程序中,以便进一步输入/编辑。下面是一个简化的可视化:
大多数正在筛选的字段都是分类法引用;但是,有些字段是数字输入,过滤的值小于、大于或等于筛选器。
金融分类学:好的金融学;所以金融学;被质疑的金融学
工业分类学:技术、制造、房地产等。
"Client A“节点字段在客户端内容类型中回答:
公司内容类型包含以下节点:
一旦client A选择了一个字段,该字段指示最终的答案并保存了内容类型客户端,我需要找到一种方法让匹配的公司根据客户端A的答案进行过滤,并且应该为每个匹配的公司为不同的内容类型创建一个新的节点(内容类型称为合作伙伴详细信息)。
该内容类型将称为合作伙伴详细信息,并将包括每个匹配公司的下列字段:
总之,client A回答了客户内容类型中的上述问题,然后基于这些信息,将过滤公司内容类型中的数据--在本例中--将创建两个新的合作伙伴详细内容类型节点,因为公司内容类型中的节点匹配客户端A在客户内容类型中回答的字段。公司B和公司D匹配标准,因此它们将被创建的两个新的合作伙伴详细信息节点引用。通过这种方式,客户机A可以登录并查看它们的匹配,编辑匹配的合作伙伴详细信息,并根据它们的实体引用节点查看关于公司B或D的信息。
我对视图、面板和规则有一个中间理解,但似乎无法理解一旦用户指示应用程序已完成,我将如何在幕后完成此操作。我还了解如何使用规则创建新节点和实体引用它们。希望一步一步地提供一个尽可能详细的例子。任何帮助都是非常感谢的。谢谢你能容忍我冗长的解释,希望这是有意义的。
(最后,我不知道如何称呼这个问题,所以如果有人有更好的建议,让我知道,我会改变它。)
发布于 2016-01-25 11:40:13
当客户端的内容类型被保存时,您需要下面的规则来触发。所有相关字段都必须存在于这两种内容类型中。它将告诉客户端答案,通过VBO提供给他们,获得匹配的公司NID,然后循环它们创建合作伙伴详细信息节点。
上面的is将很好地完成分类法,但是对于整数来说,它要复杂一些,因为上下文过滤器必须完全匹配。为此,您可以使用上下文过滤器: Global (它不会限制结果),并使用视图参数替换从上下文过滤器中获取值,并在视图过滤器(左边的常规过滤器)中使用它。** *!2 ***(无空格),如果您的全局: null是第二个上下文过滤器。
这是相当有限的,但它可以工作。如果您需要它仅为50-100名员工,例如,在公司内容类型上,有最小和最大整数字段,并在VBO视图中使用“大于”和“小于”过滤器。
您应该在VBO预览上做大量的测试,以确保事情按预期工作。我真的相信这是唯一的方法来做到这一点,而不编写大量的定制代码。祝好运!
https://drupal.stackexchange.com/questions/187672
复制相似问题