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) → changes affect the shared Content Template for the bundle/view mode.</li>
<li>When <strong>checked</strong> → 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 → 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 → 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" → 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 — 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