Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Mailchimp 3.1.5 Minor update available for module mailchimp (3.1.5). Release: SynPay - Sber Ykassa Robokassa 2.0.7 Minor update available for module synpay (2.0.7). Release: SynPay - Sber Ykassa Robokassa 2.0.6 Minor update available for module synpay (2.0.6). Release: SynPay - Sber Ykassa Robokassa 2.0.5 Minor update available for module synpay (2.0.5). Release: GLightbox Media Video 1.0.5 Minor update available for module glightbox_media_video (1.0.5). Release: UI Patterns Library Plus 1.0.4 Minor update available for module ui_patterns_library_plus (1.0.4). Release: Dropsolid Rocketship Core 8.x-1.10 Minor update available for module rocketship_core (8.x-1.10). Release: Bootstrap Cloud 7.1.2 Minor update available for theme bootstrap_cloud (7.1.2). Module Revived: Dropsolid Rocketship Install Profile 6.2.5 Module dropsolid_rocketship_profile updated after 6 months of inactivity (6.2.5)... Security Coverage: Path Alias Views Module path_alias_views now has official Drupal security advisory coverage.

Canvas Entities

No security coverage

Part of the Canvas ecosystem · 35 projects

View on drupal.org

Design paragraph and taxonomy term layouts visually in Drupal Canvas, not just nodes.

Drupal Canvas lets you drag Single Directory Components (SDCs) onto a canvas
and map an entity's fields to component props. No Twig, no preprocess code. Out of the box,
this only works for nodes.

Most sites build pages out of Paragraphs too, using things like hero banners,
callouts, and card grids, and reference other entities, like taxonomy terms,
that Canvas can't design either. Those types still render through hand-written Twig.

Canvas Entities fixes that: it makes paragraph and taxonomy term types
first-class in the Canvas editor. Design a Content Template for a paragraph type or a
taxonomy vocabulary just like you would for a node, and every entity of that type renders
through it automatically, everywhere it's used.

Not a migration tool

This module doesn't replace Paragraphs or change your content model. It just lets you author
view modes for paragraphs and taxonomy terms visually with Canvas, while your existing
entities keep working exactly as they do today.

Features

  • Content Template tab on a paragraph type's or taxonomy vocabulary's Manage
    Display page, with a "Create with Canvas" shortcut when no template exists.
  • Full visual editing: drag components, map fields to props, preview live.
  • Paragraph Field component: renders a paragraph reference field from a parent
    node/paragraph's template. Each referenced paragraph renders through its own template, so
    designs nest as deep as you need.
  • Entity Reference Field component: renders a plain entity reference field
    (e.g. a field_tags field targeting taxonomy_term) the same way.
    Each referenced term renders through its own template.
  • Admin screen at Structure > Content Templates (Non-node) to open,
    generate sample content, or delete any bridged template in one click.
  • Drush commands for bulk template creation, listing bundles/templates, and
    generating sample content, handy for CI/build pipelines.
  • Enum field fix: list_string/list_integer fields
    (e.g. button variants) now map cleanly to SDC enum props, which Canvas can't normally do.
  • Clean markup: drops the default wrapper markup (e.g.
    .paragraph.paragraph--type--X) when a template is active, so your component's
    own root element (<section>, <a>, etc.) becomes the
    real DOM root. Matters for flex/grid layouts.
  • Safe by default: every template starts disabled. Nothing changes for
    visitors until you explicitly publish it in the Canvas editor.

Setup

  1. Enable it:
    drush en canvas_entities
  2. Define fields on your paragraph type or taxonomy vocabulary (Structure >
    Paragraph types / Taxonomy) to match your design system's component props, e.g.
    field_heading, field_body, field_image,
    field_variant.
  3. Create a Content Template, using any of these three ways:
    • UI: Structure > Content Templates (Non-node) → pick entity type, bundle,
      view mode → Create.
    • The "Create with Canvas" button on Manage Display.
    • Drush:
      drush canvas-entities:create-template paragraph hero_banner default
      drush canvas-entities:create-template paragraph --all
      drush canvas-entities:create-template taxonomy_term tags default
  4. Design it at /canvas/template/{entity_type}/{bundle}/{view_mode}.
    No content yet? Generate placeholders:
    drush canvas-entities:create-sample paragraph <bundle>
  5. Render nested paragraph or entity reference fields from a node or parent
    paragraph template: add the Paragraph Field or Entity Reference
    Field
    component, set field_name to your reference field (e.g.
    field_content_sections or field_tags), optionally set
    view_mode (default: default).

    Same thing in Twig:

    {{ sdc_render_field('field_content_sections', 'default') }}
  6. Publish when ready. Until then, the entity renders as before.

Other Drush commands:

drush canvas-entities:list-templates
# list all bridged templates

drush canvas-entities:list-bundles paragraph
# list bundles/view modes

Roadmap

Once Canvas (core issue #3498525) natively supports an entity type, that entity's
bridge here becomes unnecessary and gets removed.

  • Phase 1 (current): Paragraphs and taxonomy terms.
  • Phase 2 (planned): block_content support.
  • Phase 3 (planned): Admin-configurable bridged entity types.

Requirements

  • Drupal 10.3+ or Drupal 11
  • PHP 8.3+
  • Canvas (provides Content Templates)
  • Paragraphs
  • Field UI, Taxonomy, and Navigation (all included in Drupal core)

Project status

Experimental, matches Canvas's own alpha status. The API and supported entity types may change
as Canvas evolves.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Sep 2026
Latest release
6 hours ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Active

Releases

Version Type Core Release date
1.0.0-alpha1 Pre-release 10–11 Sep 11, 2026