| Understand what Plus Suite is and how it differs from core Layout Builder |
Overview |
Use Plus Suite when you need a WYSIWYG page builder on top of core Layout Builder with drag-and-drop, inline editing, and nested layouts. Use core Layout Builder when you only need basic block placement via the sidebar form. |
| Install Plus Suite on a new or existing site |
Installation & Setup |
Use the DDEV install script for new projects and evaluation. Use manual module installation for existing sites already using Layout Builder. |
| Understand the module architecture and dependencies |
Architecture & Module Map |
Reference this when you need to understand which module provides which functionality, or when debugging issues. |
| Configure Edit Mode and the Navigation+ toolbar |
Edit Mode & Navigation+ |
Use Edit Mode for any content type using Layout Builder where editors need WYSIWYG page building. Disable it for read-only, API-sourced, or admin-form-based content types. |
| Create custom editing modes |
Mode Plugins |
Use custom Mode plugins when you need editing modes beyond Edit Mode — e.g., a Preview mode, Help mode, or workflow-specific mode. |
| Create custom toolbar tools |
Tool Plugins |
Use custom Tool plugins when you need custom toolbar actions beyond built-in tools — e.g., a color picker, annotation tool, or content validation tool. |
| Configure promoted blocks in the drag-and-drop sidebar |
Place Block & Promoted Blocks |
Configure Promoted Blocks to curate the drag-and-drop sidebar. All available blocks still appear under the "Other" tab; promoted blocks are just surfaced first with custom icons. |
| Work with nested layouts (layout blocks) |
Nested Layouts |
Use nested layouts when you need blocks-within-blocks as a reusable unit. Use section layouts for simple column arrangements. |
| Configure inline field editing |
Inline Editing |
Enable inline editing on fields that editors change frequently. Disable it on computed, read-only, or complex-validation fields. |
| Understand how unsaved changes are stored |
Tempstore Strategy Pattern |
Use Tempstore+ when you need workspace-aware temporary storage for entities or layout sections. Do not bypass it with core tempstore directly. |
| Configure placeholder content for new blocks |
Field Sample Value |
Configure field sample value generators for every field on every block content type. Without them, blocks appear empty on placement, defeating Plus Suite's "drop and see" UX. |
| Save and reuse layout sections |
Section Library |
Use Section Library to save reusable section templates (with all their blocks) that content editors can drag into any page. Skip it for one-off layouts. |
| Handle media drag-and-drop onto the page |
Media Handling |
Use desktop drag-and-drop for fast media placement. Configure file associations per user to skip the association modal. |
| Configure keyboard shortcuts and user preferences |
Hotkeys & User Settings |
Configure hotkeys during initial setup. Users can customize per-user via the Settings sidebar. |
| Customize the sidebar panels |
Sidebar System |
Build custom sidebar content in tool plugins. Avoid heavy content in sidebars — they rebuild on every tool switch. |
| Understand how entities are wrapped for editing |
Twig Events |
Use Twig Events to intercept template rendering without overriding templates. Be aware it fires on every template render — use sparingly. |
| Use Plus Suite with Drupal Workspaces |
Workspaces Integration |
Use Plus Suite with Drupal Workspaces when you need staged content publishing. Tempstore+ handles workspace isolation automatically via key suffixes. |
| Create block types that integrate with Plus Suite |
Custom Block Types |
Create custom block types for every design component. Use event subscribers to set placement defaults and add design options. |
| Override templates and customize theming |
Theming & Templates |
Override color configuration at /admin/config/content/plus-suite for brand customization. Override templates only when structural changes are needed. |
| Understand the JavaScript modules and AJAX commands |
JavaScript Architecture |
Reference this when extending Plus Suite with custom JS, debugging client-side issues, or understanding AJAX command flow. |
| Find the right Plus Suite event to subscribe to |
Events & Event Subscribers |
Subscribe to Plus Suite events to customize behavior without overriding core module code. Check this catalog before writing new hooks or overrides. |
| Configure permissions for editors and admins |
Permissions & Access |
Apply this permission matrix when setting up roles for content editors and site builders. |
| Understand what the recipe installs and configures |
Recipe Structure |
Reference this when troubleshooting recipe application, understanding what gets installed, or deciding whether to use recipe vs manual installation. |
| Choose between Plus Suite and Canvas |
Plus Suite vs Canvas |
Use Plus Suite when you have existing Layout Builder investment or a PHP-only team. Use Canvas for new Drupal CMS projects prioritizing long-term core alignment. |
| Build a custom design system with Plus Suite |
Custom Design System Integration |
Follow this guide when building Plus Suite for a branded site — custom block types, promoted block icons, sample content generators, and block properties that match your design system. |
| Create custom section layout plugins |
Custom Layout Plugins |
Create custom layout plugins when core's basic one/two/three column layouts don't match your design system's grid. YAML covers most cases; use PHP class only when per-section configuration is needed. |
| Build a complete component end-to-end |
End-to-End Component Creation |
Follow this walkthrough when creating any new Plus Suite component from scratch. Use the checklist at the end to verify completeness. |
| Use UI Patterns / SDC components with Plus Suite |
UI Patterns & SDC Integration |
Use UI Patterns layouts as structural section layouts and block_content for content blocks that need inline editing. Do not use UI Patterns blocks as your primary strategy if inline editing is a requirement. |
| Troubleshoot known issues and avoid pitfalls |
Common Mistakes & Known Issues |
Read this before starting any Plus Suite implementation and when troubleshooting problems. |