Skip to main content
The Site Store Pro CMS lets you create and manage Pages (type 1) and Posts (type 2) from a single unified workspace. Each page supports multi-column TinyMCE layouts, revision history with autosave, access gating by product purchase or access code, inline image uploads, and a library of pre-built HTML widgets — all configurable without touching any code.

Admin Routes


Page Types

Both Pages (type 1) and Posts (type 2) are managed in the same workspace. Use custom sorting (custom_sorting) to control the display order within listings.

Taxonomy

  • Categories: many-to-many via cms_pages_categories join table
  • Tags: many-to-many via cms_pages_tags join table
Public archive pages are generated automatically:

Cross-Table Unique Slug Validation

No CMS Page, CMS Category, or CMS Tag may share the same slug. Slugs are validated across all three tables on save. A conflict error will be shown if you attempt to use a slug already in use anywhere in the CMS.

TinyMCE Editor Configuration

Enabled Plugins

Supercode Source Code Editor

The Supercode plugin provides a full source-code editing experience:
  • Ace Editor with Monokai dark theme
  • Syntax highlighting and line numbers
  • HTML tag autocomplete
  • Cursor and selection synchronization with the TinyMCE visual editor

Toolbar Controls

Tailwind CSS Preview

The TinyMCE editor iframe loads Tailwind CSS 2.x via CDN. Tailwind utility class snippets render accurately while editing — no separate preview step required.

Layout Options

Each sidebar column has its own independent TinyMCE editor instance and supports all shortcodes.

Collapsible Navigation Sidebar

The left-hand CMS tab menu — Page Details, Publishing Info, Security & Gating, Layout & Media, Custom CSS & JS, Revisions History — can be collapsed. When collapsed, the content/editor area auto-expands to full browser width, maximizing editing space on smaller screens.

Revisions & Autosave


Page Access Gating

Access gating is configured in the Security & Gating tab of the page editor.

Product Purchase Gate

Set a Required Product ID to restrict the page to customers who have completed a paid order for any variant of that product.
  • Verification is session-cached after the first successful check — no repeated database lookups on subsequent visits.
  • Admin accounts always bypass the gate regardless of purchase history.

Access Code Gate

Once a visitor enters the correct code, the page remains unlocked for the entire session. Multiple code-gated pages can be independently unlocked within a single session.

Publishing & Visibility


Header & Title Customizations (Layout & Media Tab)


Helpful Rating Widget

An interactive thumbs up / thumbs down widget shown at the bottom of the page when Hide Page Ranking = 0.
  • Votes are session-locked — a visitor can only cast one vote per page per session, preventing ballot stuffing.
  • Aggregate rating counts are stored in the database and visible to admins.

Editor Toolbars & Drawers (Right Edge)

Three slide-out drawers are accessible from the right edge of the page editor:

1. HTML Widget Library Drawer

Pre-built HTML snippets ready to insert into TinyMCE: Drag a snippet directly onto the TinyMCE canvas, or click to insert at the current cursor position.

2. Display Plugins Drawer

Shows all active display-type plugins currently installed. Drag the plugin’s shortcode token directly into the editor canvas. Live-search across the entire site for linkable content: For each result, copy one of three ready-to-use formats:

Inline Image Upload

Drag-and-drop or paste images directly into the TinyMCE editor. Images are:
  1. Uploaded and stored under /storage/app/public/cms_inline/
  2. Returned as a site-relative URL and embedded at cursor position automatically

Tab Target Refocusing (Admin Failsafe)

If the same CMS page is open in multiple browser tabs, clicking Edit Page from the live public-facing site will focus the existing editor tab rather than opening a new one and reloading.
This prevents concurrent editing sessions on the same page that could result in one tab overwriting another’s unsaved changes on save.

Dynamic Homepage

The site root (/) is database-driven via the CMS Page record with ID = 1.
Deletion of CMS Page ID = 1 is strictly prevented at the application level. Attempting to delete it will return an error. To replace the homepage, edit Page ID = 1 or change its content rather than deleting and recreating.

CMS Page Shortcode

Embed a link to any CMS page using its ID:
Examples: