首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何防止规则在规则内部触发?

如何防止规则在规则内部触发?
EN

Drupal用户
提问于 2016-05-07 18:01:50
回答 3查看 182关注 0票数 1

我使用的是规则模块,我有两个规则:

  • 答:挂牌时,“将日记账分录到分类帐”
  • B:当没有标记时,“从分类账中删除日记账分录”

规则A还包括两个规则组件,其条件是检查日记账条目是否平衡:

如果条件‘平衡’是正确的:-将日记账分录到分类账。

如果条件“不平衡”为真:-在页面上显示警告,并在日志条目中显示UNFLAG。

问题是,我不希望在规则A中触发规则B,这是目前正在发生的。

理论上,我可以向规则B添加一个条件,比如“是平衡的”,但我不想修改其他规则,以防止规则中的规则执行。

是否有可能防止嵌套规则的触发?

EN

回答 3

Drupal用户

发布于 2016-05-25 22:08:31

这是一个变通的解决方案。

可以将布尔字段添加到日记条目内容类型中。附带注意,您可以使用字段许可模块将布尔字段隐藏在添加/编辑表单中。

或者,如果您没有使用粘性系统,您可以使用它。

所以现在你要做的就是给你的取消标志规则添加一个条件。

  • 布尔值为false/未检查或内容不粘性。

现在在您的组件Action中添加:

  • 设置一个数据值并使您的布尔值变为True/checked或使内容粘稠
  • 取消标志节点
  • 设置数据值,并使布尔值为false/未选中或使内容不粘

哇!组件不会触发取消标志规则。

票数 1
EN

Drupal用户

发布于 2016-05-07 19:06:00

通过使用条件规则模块,您可能会更加接近于(=简化规则逻辑)。有关此模块的更多详细信息(来自其项目页面):

..。提供规则插件,用于在一组操作中直接有条件地更改执行流。

下面是一个带有使用条件规则的操作的规则的屏幕打印(虽然只有一个“if”(If)“-part if,no”):

对于使用条件规则模块的示例(对于这个模块,没有太多的docu可用),请参阅我对"如何防止节点在使用规则模块时被保存?“问题的回答。

请注意:这个模块只有一个用于D7的beta版本,尽管它在超过8K的站点中使用(这使得它看起来是一个非常健壮的模块)。

票数 0
EN

Drupal用户

发布于 2016-10-26 02:38:28

有时,您需要阻止下一个规则的执行。

  • 在您的规则中,您可以添加一个操作“执行自定义PHP代码”

您可以将此代码重定向到不同的页面右转,而无需执行下一条规则。

代码语言:javascript
运行
复制
-------------------------
header("location:/");
exit;
--------------------------

上面的代码将执行一个页面重定向到主页,仅此而已。

其余的规则永远不会得到执行。

票数 0
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/200374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档