What Struxa is, who it is for, and how the pieces fit together.
What is Struxa?
Struxa CMS is a PHP content management system built on Slim 4 and Twig. It targets teams who want structured content (custom types, fields, taxonomies), a full admin UI, optional commerce, headless APIs, and extension through plugins and themes—without running WordPress.
Who is it for?
- Agencies shipping client sites with reusable blueprints and config sync between environments
- Product teams needing a headless API plus a friendly editorial admin
- Developers who prefer explicit PHP, SQL migrations, and filter hooks over opaque platform magic
- Small commerce operators selling digital or physical products via Stripe Checkout
Core ideas
- Content types — Define models (blog, product, guide, page-like entries) with typed fields instead of one generic post table.
- Themes — Storefront HTML, CSS, and JS live under
themes/{slug}/with inheritance from parent themes. - Plugins — Features ship as isolated packages under
plugins/{slug}/with manifests, migrations, and optional routes. - Settings and menus — Site name, SEO defaults, and navigation are data-driven from the admin.
- APIs — JSON REST and GraphQL expose entries and pages for mobile apps or SPAs.
How the pieces fit together
| Layer | Location | Role |
|---|---|---|
| Core | src/, routes/, templates/admin/ | Admin UI, auth, content engine, commerce, APIs |
| Theme | themes/{slug}/ | Public HTML, layouts, content templates |
| Plugin | plugins/{slug}/ | Extra admin screens, public routes, hooks |
| Database | MySQL | Entries, settings, orders, plugin state |
Typical workflow
- Install Struxa and run
composer migrate. - Activate the default theme (or install another from the catalog).
- Create content types or import a blueprint (blog, product store).
- Publish entries; optional commerce via Stripe.
- Extend with plugins (SEO helper, mailing list, Knowledge Base, …).
Where to learn more
Official developer docs live in the repository docs/ folder. This Knowledge Base mirrors that material for your team inside the admin. Start with Server requirements and Installation and first login if you are setting up a new site.
Troubleshooting
- Blank admin after install — Confirm
composer migratecompleted and database credentials in.envare correct. - 404 on public pages — Check that the content type has public route enabled and the entry status is Published.
- Theme looks unstyled — Storefront pages must load CSS via
theme_asset(), not core marketing/css/styles.css.