CMS pages
When CMS replacement is on, the plugin scans the rendered output of CMS elements and replaces {variable} placeholders with the resolved value. This is the most common use case and is enabled by default.
What gets replaced
Section titled “What gets replaced”- Text blocks —
cms-element-textand similar elements that render rich text from the CMS designer. - HTML blocks — raw HTML elements you placed in the layout.
- Product description fields rendered through CMS elements (the description is part of the CMS template even when it comes from a product entity).
Outside of CMS-rendered output, variables are not touched — for product / category fields that are not rendered through CMS, see the Products and Categories pages.
How a variable opts into this scope
Section titled “How a variable opts into this scope”By default, a variable with no scopes set is allowed everywhere CMS replacement is on. To restrict a variable to only CMS pages:
- Open the variable in the admin.
- In the Scopes field, pick
CMS Page(and only that). - Save.
Now this variable is replaced only when rendered inside a CMS element, even if you accidentally type {variableName} in a product description outside CMS.
Disabling CMS replacement
Section titled “Disabling CMS replacement”Turn off Enable variable replacement in CMS pages in plugin settings to disable the entire scope. Variables stop being replaced in CMS content storefront-wide, but the editor preview keeps working — see below.
Editor preview
Section titled “Editor preview”The plugin adds a live preview to the WYSIWYG editor itself — see Editor integration. The preview shows the resolved value while you edit so you can verify the final copy without leaving the CMS designer.
The editor preview has its own toggle in plugin settings (Enable variable preview in editor), separate from the storefront toggle. You can leave the preview on while keeping the storefront replacement off, or vice versa.