Drupal中涉及多个实体的复杂规则

时间:2013-08-09 11:59:45

标签: drupal drupal-rules

我需要在Drupal中创建一个相当复杂的规则 - 我愿意使用代码或接口来执行此操作。

然而,我更熟悉接口,而不是规则API。

无论如何,规则如下:

它将基于来自entityforms(它是一个实体)的表单提交而发生。它将取一个字段的复选框值(不仅是true或false,而是值为true或false时提交的值)。它会将此数字转换为整数。

此时事情变得有趣 - 我想创建一个新的注册实体(一个不同的实体),据我所知,这意味着我必须将注册纳入范围。我还需要将节点(而不仅仅是节点:类型和其他数据选择器,特别是节点)放入范围,因为下一步需要它。

所以在这一点上,我应该将三个实体加载到范围中:

entityforms
registration
node

我认为将registration纳入范围的最佳方式是entity is of type?文档页面说类型的内容应该是合适的 - 但这似乎可能与示例的特定用例有关 - 不是在我更复杂的例子中,注册不是第一个处理的实体,而是第二个

https://drupal.org/node/1463042

无论如何,如果正确调用所有这三个实体,最终结果应如下:

来自entityform的布尔字段(不是直接1或0,但无论提交的值是否切换到)的值转换为整数,并插入需要entity host ID的位置。在host entity type的部分中,值应为node。

如果这看起来过于复杂或架构不当,我也愿意接受其他建议。

1 个答案:

答案 0 :(得分:1)

主机实体类型不能是实体形式?为什么是节点,因为注册可以附加到任何实体?然后,您将获得Entityform的id以及该实体类型的任何其他字段而不是Node。接下来的步骤是一样的。