首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式更改具有内容适度的实体的(D8核心)工作流状态?

如何以编程方式更改具有内容适度的实体的(D8核心)工作流状态?
EN

Drupal用户
提问于 2017-09-27 16:22:08
回答 1查看 5.8K关注 0票数 5

我用的是Drupal 8.4-rc2。启用工作流和内容审核模块时,您将自动获得编辑工作流作为演示。

这些州如下:

  • 存档
  • 草案
  • 已发布

过渡情况如下:

  • 创建新的草案(从草案/出版到草稿)
  • 出版(从草稿/出版到出版)

如何以编程方式调用转换?或者,我如何在不调用转换的情况下以编程方式更改状态(尽管这似乎违背了首先定义转换的精神)?

具体来说,我有一个受内容调整约束的节点(声明:存档、草稿、发布)。默认情况下,在编辑节点页上,节点保存在原始状态(因此将草稿节点保存为草案)。我想在提交处理程序中添加第二个按钮“另存为已发布”,但我不明白如何以编程方式更改状态。

到目前为止,我真正理解的是工作流是实体,状态也是实体,所以它不同于Drupal 7,在Drupal 7中,大多数工作流类型模块使用字段来跟踪正在发生的事情。

我检查了示例模块,但是还没有配置管理/工作流方面的任何信息。

EN

回答 1

Drupal用户

发布于 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 )

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

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

复制
相关文章

相似问题

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