Editor & content hub — FlexiBlocks
FlexiBlocks does not replace Shopify’s native body editor. It adds Edit in FlexiBlocks as an alternative that reads and writes the same Shopify HTML fields (body on articles and pages, descriptionHtml on products and collections, or your mapped metaobject field).
Content hub
Section titled “Content hub”From the app home (Content hub) you can open:
| Card | What you edit |
|---|---|
| Blog posts | Article body HTML (pick a blog, then an article) |
| Pages | Online Store page body HTML |
| Reusable blocks | Shop-wide library entries (/library/reusable-blocks) |
| Products | Product description HTML |
| Collections | Collection description HTML |
| Metaobjects | Enabled custom types — configure first in Settings → Content types |
Use Settings (top of hub) for app setup.
Block editor
Section titled “Block editor”The editor uses Gutenberg-style blocks (WordPress block library + FlexiBlocks shopify/* blocks).
Editorial & layout: paragraphs, headings, lists, quotes, columns, spacers, separators, groups, buttons, tables, FAQ (details), accordion, tabs, custom HTML, table of contents, math.
Media: image, gallery, cover, media & text — images use Shopify Files (not WordPress media).
Embeds: YouTube and Vimeo via the core embed block.
Commerce: product card, product cards, buy button, collection grid, collection button — see Commerce blocks.
Reusable: insert reusable block references from the library (not nested inside another library entry).
Many WordPress-only blocks (posts, comments, site logo, etc.) are hidden intentionally.
Multilingual shops
Section titled “Multilingual shops”If your shop has two or more published locales, the editor shows a locale switcher. Non-primary locales save through Shopify’s translations flow; the primary locale uses the standard Admin fields.
Reusable block references are stored on the primary locale; translated bodies embed the same library content when expanded at save.
Shop languages are managed in Shopify Admin → Settings → Languages (Markets).
Where content is stored
Section titled “Where content is stored”| Data | Location |
|---|---|
| Published HTML | Shopify native field (body, descriptionHtml, or mapped metaobject field) |
| Block JSON for re-editing | App metafield $app:gutenberg.data |
| Reusable refs list | App metafield $app:gutenberg.reusable_refs (resources) |
| Reusable library | Metaobject $app:gutenberg_reusable_block |
We do not keep a separate long-term copy of your HTML outside Shopify except during save/load and short-lived server logs.
Save behavior
Section titled “Save behavior”- Click Save in FlexiBlocks.
- The worker refreshes commerce block attributes, expands reusable references, and writes storefront-ready HTML.
- Shopify fields update via the Admin API (body + metafields).
- Refresh the resource in Shopify Admin to see the same HTML in the native editor.
If save fails, see Troubleshooting.
Settings tabs
Section titled “Settings tabs”| Tab | Purpose |
|---|---|
| General | Editor appearance, theme CSS for the canvas, Editor presets, Storefront content selectors |
| Content types | Enable metaobject types for the hub — Metaobjects |
| Storefront | Embed enablement checklist and theme-editor deep link |
| Installation | Metafield + reusable block definition setup — required for the library |