我用的是Drupal 8.4-rc2。启用工作流和内容审核模块时,您将自动获得编辑工作流作为演示。
这些州如下:
过渡情况如下:
如何以编程方式调用转换?或者,我如何在不调用转换的情况下以编程方式更改状态(尽管这似乎违背了首先定义转换的精神)?
具体来说,我有一个受内容调整约束的节点(声明:存档、草稿、发布)。默认情况下,在编辑节点页上,节点保存在原始状态(因此将草稿节点保存为草案)。我想在提交处理程序中添加第二个按钮“另存为已发布”,但我不明白如何以编程方式更改状态。
到目前为止,我真正理解的是工作流是实体,状态也是实体,所以它不同于Drupal 7,在Drupal 7中,大多数工作流类型模块使用字段来跟踪正在发生的事情。
我检查了示例模块,但是还没有配置管理/工作流方面的任何信息。
发布于 2017-09-27 16:59:29
我还没有大量使用D8,但是在D7's工作台缓和模块中,节点有一个moderation_state字段,该字段是草稿或发布的。D7中的转换通常用于用户角色工作流,而在代码中,您通常通过node_load和node_save直接修改节点状态.如果D8是受d7模块的启发,那么实现可能是类似的。
您看到这里引用的测试在示例链接中找到了吗:https://www.drupal.org/docs/8/core/modules/workflows/overview和示例节点调整字段( http://cgit.drupalcode.org/drupal/tree/core/modules/content_moderation/tests/src/Functional/ModerationStateNodeTest.php )
https://drupal.stackexchange.com/questions/246794
复制相似问题