Allow per-node override of Content Template via checkbox in node selector
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3567225. --> Reported by: [belkin13](https://www.drupal.org/user/2369688) Related to !948 >>> <h3 id="overview">Overview</h3> <p>Content Templates in Drupal Canvas are currently applied at the content type + view mode level. This is great for consistent designs across similar content, but editors often need to create <strong>highly custom, one-off pages</strong> (e.g. special landing pages, unique "About" or promo pages) that belong to an existing content type like "Page" or "Landing page", without affecting every other node of that type.</p> <p>Right now, achieving this requires workarounds:</p> <ul> <li>Creating a dedicated content type just for one page</li> <li>Using conditional visibility inside components (limited and hard to maintain)</li> <li>Falling back to older tools like Layout Builder</li> </ul> <p>This reduces the no-code appeal of Canvas for marketing/editorial workflows where unique pages are common.</p> <p><strong>Goal</strong>: Enable editors to override the default Content Template for a <strong>single specific node</strong> directly from the Canvas interface, keeping the full visual editing experience.</p> <h3 id="proposed-resolution">Proposed resolution</h3> <p>Leverage the existing node selector / preview switcher in the Canvas editor (the dropdown or UI element that lets you choose which node to preview the template against).</p> <p>Add a simple <strong>checkbox</strong> right next to (or below) this node selector:</p> <p>"Override default template for this node only"</p> <p>Behavior:</p> <ul> <li>When <strong>unchecked</strong> (default) &rarr; changes affect the shared Content Template for the bundle/view mode.</li> <li>When <strong>checked</strong> &rarr; the system creates/clones a per-node override (stored as a separate ContentTemplate entity or delta linked to the node), and subsequent edits only apply to this one node.</li> <li>The preview canvas immediately switches to showing/editing the overridden version for the selected node.</li> <li>Add a clear visual indicator in the editor (e.g. badge in sidebar: "Custom override for node #123: Special Offer Page").</li> </ul> <p>Additional nice-to-have:</p> <ul> <li>"Revert to default" button/link that appears only when override is active.</li> <li>In the Templates list or node form, show a status like "This node uses a custom override".</li> </ul> <p>This approach is inspired by Layout Builder's per-node overrides but adapted to the Canvas workflow (preview + node switching).</p> <h3 id="ui-changes">User interface changes</h3> <p>In the **Canvas editor preview area** (when editing a Content Template):</p> <p>Next to the existing node selector dropdown (or wherever the "preview with content" selector lives), add:</p> <ul> <li>Checkbox: "Override default template for this node only"</li> <li>Optional helper text: "Check to create a unique layout just for the selected page"</li> </ul> <p>When checked &rarr; update the editor frame to show it's now editing a per-node override (e.g. change header text, add badge/pill: "Custom layout for this page")</p> <ul> <li>If no override exists yet &rarr; auto-create it on first save/check.</li> </ul> <p>In the node edit form (for bundles with Canvas enabled):</p> <ul> <li>Optionally add a small indicator or link: "This page has a custom Canvas layout" &rarr; linking to edit in Canvas.</li> </ul> <p>This keeps the change minimal, discoverable, and consistent with how users already switch previews in Canvas.</p> <p>Thanks for considering &mdash; this would be a game-changer for sites needing both reusable templates and occasional unique pages!</p> > Related issue: [Issue #3520487](https://www.drupal.org/node/3520487) > Related issue: [Issue #3574514](https://www.drupal.org/node/3574514) > Related issue: [Issue #3573831](https://www.drupal.org/node/3573831) > Related issue: [Issue #3541000](https://www.drupal.org/node/3541000)
issue