Entity Reference as a
Component-based
Site Builder

Anton Staroverov  •  23. June 2017

State of
Layout Management
in Drupal

Anton Staroverov  •  DDD Lisbon  •  4. July 2018

Diamond Sponsor

Platinum Sponsors

Gold Sponsors

State of
Layout Management
in Drupal

Anton Staroverov  •  DrupalCamp London  •  2. March 2019

FOUNDER

PHP/Drupal

 

Python/Tornado

 

JS/Vue/React/
Angular

 

Pattern Lab/Fractal

highweb•tech

Anton Staroverov

@digitony_

CEO [new]

Design


Content


Marketing (SEO/SEM/SMM)


Integration
(CRM/ERP)

omni•tech

Anton Staroverov

@digitony_

#0
Problem

#1
Layout-first

Region 2

Region 3

Region 1

Block Layout

( global )

Field
Layout
(DS in core)

Block
Layout

Header

Footer

Main

Region 1

Region 2

Region 3

Field Layout

( per page type )

Header

Footer

Region 1

Region 2

Region 3

Field 2

Field 3

Field 1

Field
Layout

Layout Builder

( per page )

  • Landing pages
  • Marketing websites
  • Ecommerce

#2
Content-first

Text

Text

Text

Text

Text

Text

Image

  • Content structure is more important than its layout.
     
  • Content is represented by consequential blocks with information (like a story).
     
  • Number of blocks and block types are not pre-defined.

Inline Entities

( Paragraphs, Custom Blocks, ECK, etc )

  • Blogs
  • Documentation
  • Wiki

But ...

In 50% cases
there is no clear border between

Content and Layout.

... and there should be something
in between.

#3
In between

Image

Text

Text

Image

Image

​Layout-first

Banner

Banner

?

Image

Image

Text

Text

Image

Text

Text

Text

Text

Text

​Content-first

?

  • Sometimes we need to apply layout right inside the content.
     
  • We don't want to rebuild the whole content just because of one micro-layout needed.
     
  • And we don't want to have LB inside another LB.

Bricks

( micro-layouts for inline Entities )

Surprise:
You already know Bricks!

Menu Items

Taxonomy Terms

Webforms

Field Group

Bricks

#4
All together

Entities

Bricks

Layouts

Paragraphs,
Custom Blocks,
ECK ...

Block Layout,
Field Layout,
Layout Builder

Field containing
a structure of Entities/Layouts

Image

Text

Image

Field 2

Field 3

Text

Text

Text

Header

Footer

  1. Block Layout to manage global layout.
     
  2. Field Layout to set layout per page type.
     
  3. Layout Builder to customize page layout.
     
  4. Inline Entities to represent the content.
     
  5. Bricks to inject micro-layouts in the content.

Body Field

Banner

  • Multi-layout websites
  • Advanced marketing
  • Anything else!

#5
Even more

User

Show User profile using Card component

Page

Show Page teaser using same Card component

UI Patterns

+

Display Suite

BUILD YOUR OWN WAY OF BUILDING

THA  
  NKS

Questions?

Not sure about
site architecture?

 

ask@highweb.tech

 

Get site architecture review for free

Going to build
brand new website?

 

collab@highweb.tech

 

Collaborate at hourly rate defined by you

Join the Bricks world:

And help it grow:

Global layout

Design: Template

Drupal: Blocks ✔

Main content

Design: Organism

Drupal: ???

Local layout

Design: Organism

Drupal: ???

Object

Design: Molecule

Drupal: Entity ✔

Properties

Design: Atoms

Drupal: Fields ✔

Example

?

SITE
BUILDING

CONTENT
EDITING

THEMING

UI BRICKS

Drupal

Design Systems

Ecosystem

SEMANTIC CONTENT

BUILDING BLOCKS

REUSABLE PATTERNS

Entities

Entities:

Fields:

ECK

Paragraphs

Custom Blocks

Text

File

Link

Block Layout

Field Layout

Entity Reference

Bricks

View Modes

CSS Modifiers

•••

•••

Layout API

Twig

UI Patterns

Fractal

Pattern Lab

Pattern Libraries:

State of Layout Management in Drupal

By Anton Staroverov

State of Layout Management in Drupal

DrupalCamp London 2019, Drupal Developer Days Lisbon 2018, Design 4 Drupal Boston 2017

  • 1,878