Installation profile - Can I create nodes via yml files? What's the best practice for it?

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

  •  23-01-2021
  •  | 
  •  

I've created an installation profile for Drupal 8, which creates content types, taxonomies, blocks and stuff I need for new projects via yml files. Now I also want to create some default nodes.

I could use hook_install() or the module "default content" to create some nodes, but I'd like to know, if there is a better way for it.

Since we can create content types, taxonomies, blocks, etc. with yml files, I was wondering if it is possible to also create nodes with it.

So my questions are:

  • Is there a way to create nodes via yml files?
  • What would be the best practice for it?
有帮助吗?

解决方案

That's exactly what the Default content module was built for:

Default content gives your module and install profile a way to ship default content as well as configuration.

I'm not sure it supports YAML, but definitely JSON and others, so it's basically the same thing.

The docs can be found here.

其他提示

I think this info's correct:

  1. YAML Encoder with Content Serialization: uses Drupal/Symfony serialization framework
  2. YAML Content: doesn't use serialization framework, doesn't support export
  3. Demo Content: doesn't use serialization framework, doesn't support export

Regarding best practice it might be worth pointing out that after doing a core or contrib update, my understanding is you should update all exported entities, both config and content.

许可以下: CC-BY-SA归因
scroll top