Drupal 8 hidden power: Entity Reference as a component-based site builder
Modern websites require the brand new understanding of what content is and how it is structured. Well-organized content architecture makes the website semantically transparent and the content management process simple and clear. Today by term “content” we don’t mean narrative content. Not anymore. That’s why things like Markdown or WYSIWYG are just not enough.
“We’re not designing pages, we’re designing systems of components.” — Stephen Hay
There are a plenty of proven concepts and modules which aimed to help us here: Display Suite, Panels, Panelizer and of course Paragraphs. But with Drupal 8 release we have a lot of opportunities right in core and our mission is to utilize them as much as possible to get the same functionality (or even more!).
In this session we will try to define a set of common problems when building rich websites with dynamic layouts and to design a solution for creating flexible content for such websites. We will try to use Drupal 8 core modules widely, and especially Entity Reference because of its flexibility and wide support in contrib modules. Finally we will go through a live demo of a complete sandbox website.
The following topics will be highlighted:
- How to structure a page? In which independent components to split and how granularly?
- How to re-use content throughout website? How to render the same content differently depending on context? How to just re-style without rendering differently?
- How to nest components? How to aim flat nesting to get maximum performance?
- How to organize templates?
- How to refer to a specific revision of an entity?
- How to translate a content with layout? How to translate a content partially?
- How to build custom layouts right in admin UI? How to share layouts between components?
- How to implement components with dynamic content? Like Views?
- How to get a maximum benefit from a semantically structured content? How to get responsive design done automatically?
The following modules will be covered:
- Entity Reference
- Quick Edit
- Contextual Links
- Entity Construction Kit
- Entity Translation
- Entity Reference Revisions
- Dynamic Entity Reference
- Entity Browser
- Inline Entity Form
- Entity Reference Live Preview
- Display Modes (core)
- View Field
These very simple but extremely flexible techniques can be used for any entity type (not just Paragraphs!) and in almost any project. Re-understand your content today and create your own site buidling experience on top of Entity Reference from Drupal 8 core and its wide contrib ecosystem!