您可以使用hook_node_builder()设置自定义节点ID吗? -- 8 领域 和 nodes 领域 和 hooks 领域 drupal 相关 的问题

Can You Use HOOK_node_builder() to Set Custom Node ID?


1
vote

问题

中文

drupal 8.x

如何在hook_node_builder()中设置节点ID?甚至可能吗?

这里有一个类似的问题:指定a创建新内容时自定义节点ID,但它是一种不同的方法或需要。

mymodule.module

  function MYMODULE_node_builder($entity_type, NodeInterface $node, $form, FormStateInterface $form_state) {      $node->setTitle('Node Title');  }   

我能够设置标题罚款。我很难在这个钩子上找到任何文档或帖子。

英文原文

Drupal 8.x

How do you set the node id in HOOK_node_builder()? Is it even possible?

There is a similar question here: Specifying a custom node id when creating new content, however it is a different approach or need.

MYMODULE.module:

function MYMODULE_node_builder($entity_type, NodeInterface $node, $form, FormStateInterface $form_state) {      $node->setTitle('Node Title');  } 

I am able to set the title fine. I am hard pressed to find any docs or posts on this hook.

        

回答列表

2
 
vote
vote
最佳答案
 

没有hook_node_builder,这里是实体api 。

我认为 hook_entity_type_presave 是您要查找的。

  function MYMODULE_node_presave(Drupal odeNodeInterface $node) {   $node->nid->value = 5;   $node->enforceIsNew(TRUE); }   

这里是实体保存期间发生的钩子和其他事件的顺序:

  • pripave()在实体对象和字段对象上调用。
  • hook_entity_type_presave()
  • hook_entity_presave()
  • 实体保存到存储。
  • 对于内容实体的更新,如果此前没有添加的翻译,则添加了一个翻译:
    • hook_entity_type_translation_insert()
    • hook_entity_translation_insert()
  • 在内容实体上更新,如果删除了翻译:
    • hook_entity_type_translation_delete()
    • hook_entity_translation_delete()
  • 在实体对象上调用postsave()。
  • hook_entity_type_insert()(new)或hook_entity_type_update(更新)
  • hook_entity_insert(新)或hook_entity_update()(更新)

 

There is no HOOK_node_builder, here are the available hooks in the Entity API.

I think hook_ENTITY_TYPE_presave is the one you are looking for.

function MYMODULE_node_presave(\Drupal\node\NodeInterface $node) {   $node->nid->value = 5;   $node->enforceIsNew(TRUE); } 

Here is the order of hooks and other events that happen during an entity save:

  • preSave() is called on the entity object, and field objects.
  • hook_ENTITY_TYPE_presave()
  • hook_entity_presave()
  • Entity is saved to storage.
  • For updates on content entities, if there is a translation added that was not previously present:
    • hook_ENTITY_TYPE_translation_insert()
    • hook_entity_translation_insert()
  • For updates on content entities, if there was a translation removed:
    • hook_ENTITY_TYPE_translation_delete()
    • hook_entity_translation_delete()
  • postSave() is called on the entity object.
  • hook_ENTITY_TYPE_insert() (new) or hook_ENTITY_TYPE_update() (update)
  • hook_entity_insert() (new) or hook_entity_update() (update)
 
 
       
       

相关问题

1  如何禁用在CKEditor中调整大小的图像?  ( How can i disable image resizing in ckeditor ) 
我们的网站是响应的,当编辑器在将图像上传到编辑器后使用调整大小句柄时,它会置于图像上的固定宽度和高度。由于网站的响应性,我们不希望它们大小调整图像大小。有没有办法禁用在编辑器中调整大小的图像? 如果我可以编写一个简单的Drupal自定义模块以获得完成作业,那将是优选的。但是,我似乎无法在Drupal中动态修改CKED...

1  工作流模块可以是“非线性”  ( Can workflow module be non linear ) 
我有两个潜在的工作流程,网站内容: "常规" 内容 写文章(草稿) 内容/风格评论 发布内容 "敏感" 内容 写文章(草稿) 合规性审查 内容/风格评论 发布内容 我想用某种方式将内容引导到两个工作流之一。 在我的系统中,如果有一定的分类物,它需要进入"敏感" 队列。如果没有,它可以通过正常队列。 ...

0  显示段落领域的特定项目数量  ( Show specific number of items on paragraph field ) 
我已配置这样的字段: 当我创建节点时,字段显示如下: 如何编程方式,使用两个元素启动此字段,不必单击"添加宠物" 按钮? 例如: ...

1  如何在树枝中显示自定义显示的变体  ( How to display the variation of a custom display in twig ) 
在我的产品变化中,我有4种不同的显示: 默认 Panier(推车) Teaser 缩短关系 我已经为产品类型创建了一个模板,并希望显示产品变化类型的"预告片" 显示的"照片" 字段。 这是我在我的模板中放入的内容: {{ product.variation_field_produit_image ...

0  如何从用户配置文件页面重定向到某个页面  ( How do i redirect to a certain page from user profile page ) 
我已经创建了一个钩子,并在登录页面到某个页面登录后重定向用户。 但是当我成功登录后,我转到/用户/登录时会将我重定向到用户配置文件页面(/用户/ 1)。如何在尝试访问/用户/登录页面时将登录用户重定向到我之前创建的某个页面。 ...

2  如何通过外部定义替换选择字段的允许_Values?  ( How to replace allowed values for a select field by external definition ) 
我创建了一个称为成员的自定义内容实体,其中一些字段,其中一个名为status,是一个名单以表单显示为select: $fields['status'] = BaseFieldDefinition::create('list_integer') ->setLabel(t('Statut')) ->setRe...

6  配置导入冲突,如何删除锁定  ( Config import conflict how to remove lock ) 
我正在尝试在我的暂存站点上导入配置,我反复收到以下消息: 另一个请求可能已经同步配置。 我知道目前没有其他进口进口配置,所以有一些流氓锁。 我在网站上使用config_split模块,但两种配置导入方法报告锁定。 我已将网站更新为Drupal 8.6.1,但在更新之前可能存在问题。 问题:如何使用疏浚或其他方法删...

2  如何使用swiftmailer发送格式化的html电子邮件?  ( How to send formatted html email using swiftmailer ) 
如何使用自定义模块发送样式的HTML正文发送电子邮件。我正在使用swiftmailer模块。通过我能够发送正常的身体,但我无法使用HTML标记或CSS。我该怎么办? ...

0  通过用户登录的当前的组ID过滤视图  ( Filter a view by the group id of the current logged in user ) 
我一直在寻找3天的答案,没有成功。 看起来这是一个常见的要求在大量的Drupal 8项目中,没有一个答案的互联网关于如何实现它的互联网。 i,作为用户ID 1,创建了标题为:"篮球" 和"足球" 的组类型(体育),然后我将一些用户作为成员添加到这两组... 所以我有类似的东西: 组标题:篮球 组成员: 用户a...

0  如何在树枝中使用视图获取内容作者名称?  ( How to fetch the content author name with views in twig ) 
我无法在Twig模板中获取内容作者名称全面视图。 以下是我到目前为止的所做的: - 在视图中创建了一个在"高级" 选项卡下的关系,并添加了字段撰写。 我可以在视图的预览部分中看到作者,但是因为我已经用视图覆盖了模板 - 查看文件,我不能用 {{ fields.author.user.name}} 中的枝条中获取它...

0  将动作链接到视图中的按钮  ( Linking an action to the button in the view ) 
我正在寻找一些提示如何在Drupal 8中实现以下功能。 我有一个简单的视图,我列出了filds,没什么特别的。其中一个字段是自定义文本,其呈现为按钮HTML元素。现在,我想为此按钮分配一个特殊操作,它是一个自动创建新节点。 任何帮助将被释放。 ...

3  自定义主题:未在菜单模板中提供的变量  ( Custom theme variable not made available in menu template ) 
我创建了一个自定义主题,让我们在示例中称之为"mytheme" ,用"优雅" 主题为基础。我使用多个模板,一个是菜单 - account.html.twig,它是一个覆盖我由classy menu.html.twig模板做出来显示菜单。在该模板中,我需要用户名和来自当前登录用户的其他信息。 我已经尝试了不同的方式,...

0  您如何存储WebForm提交给不同的数据库?  ( How do you store webform submits to a different database ) 
我有一个客户要求,其中"用户生成的内容" ,特定于公共的WebForm提交,需要从正常的"一个" 数据库方法中存储在不同的数据库中。 如何配置站点以存储不同的数据库中的WebForm提交? ...

0  在进口内容上,我收到错误文本格式字段是必需的  ( On imported content i am getting the error text format field is required ) 
我将某些内容导入到内容类型上的CSV,其中导入精细,但是当我去编辑和相同的内容时,我得到错误文本格式字段是必需的。有没有知道的方法来解决这个问题?谢谢 ...

1  分类概述搜索词  ( Taxonomy overview search term ) 
在这个经理: admin / structuct / taxononomy 管理/结构/分类/管理/ [水果] /概述 有一种方法可以添加搜索一个术语? 所以,如果您有100个术语,则更容易找到一个术语。 这个没有移植到所有 https://www.drupal.org/project/term_search ...

11  drupal :: request()vs $ request_stack-> getCurrentRequest()  ( Drupalrequest vs request stack getcurrentrequest ) 
这些似乎返回相同的东西: Drupal::request() $request_stack->getCurrentRequest() 这是获取当前请求的首选方法,为什么?是这些弃用之一吗?任何其他优点/缺点? 谢谢! ...

2  链接字段从foo.cgi的查询字符串从foo.cgi?123456到foo.cgi?0 =  ( Link field sanitizes query string from foo cgi123456 to foo cgi0 ) 
在我的drupal 8站点上,我有一个自定义内容类型,其中包含一个字段链接字段。当我创建一个节点并将以下外部URL添加为链接字段的值之一: http://www.isfdb.org/cgi-bin/title.cgi?1580 呈现页面包含此Mangled查询字符串: http://www.isfdb....

0  如何自定义购物车?  ( How to customize the shopping cart ) 
这是一个真正的拼图,如果我禁用显示模式的图像字段,它仍然显示在购物车中。 有人可以向我解释如何自定义购物车? 我不明白。 "预告片" 显示模式不存在,并且视图中未列出其他显示模式。为什么? ...

0  安全模型和菜单访问  ( Security model and menu access ) 
drupal 8.6.1 我有一些我想隐藏一些用户的菜单:一个带有关于站点管理员的文档的管理菜单;带有贡献者文档的贡献者菜单。等等。 似乎Drupal更喜欢每个菜单输入以链接到某事物。我有这些菜单指向 route:<nolink> ,并根据需要挂起的内容,以实现 https://www.drupal.org/pr...

1  在块布局页面上添加新列“块描述”  ( Add new column block description on block layout page ) 
我需要在块布局下添加一个名为块的简短描述 oped / admin / sturity / block。 任何人都可以让我知道如何实现它吗? 我已附加屏幕截图供参考。 ...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.