📝
Content

Content Management System

Admin Settings

Flexible CMS with block editor and multiple content types

Overview

Complete content management system supporting blog posts, news articles, pages, and custom content types. Features a block-based editor (Editor.js), hierarchical categories, tags, nested comments with moderation, and a versatile ContentWidget for displaying content anywhere.

Design Considerations

UX patterns and visual design notes for this feature:

  • Block editor gives users creative control without breaking design
  • Featured content should visually pop on homepage
  • Reading time estimates set user expectations
  • Comment moderation options balance engagement with spam control

Key Benefits

What makes this feature stand out:

  • Multiple content types (blog, news, articles, pages)
  • Block-based editor with 10+ block types
  • Hierarchical categories per content type
  • Nested comments with moderation levels
  • ContentWidget for flexible display layouts
Technical Note

ContentHelper provides all content operations. Block editor uses Editor.js stored as JSON in blocks field. ContentWidget renders with list/grid/cards/compact/carousel layouts.

Helpers
ContentHelper
Models
ContentContentTypeContentCategoryContentTagContentComment
Database Tables
contentcontent_typecontent_categorycontent_tagcontent_tag_relationcontent_comment

Configuration

Config Relationship Legend
DB overrides params.php🔗 DB related setting📋 DB stores value only
params.php Configuration

Config path: params['content']

params['features']['content'] => trueparams['content']['siteLabel'] => 'Blog'params['content']['enabledTypes'] => ['blog', 'news']params['content']['comments']['enabled'] => trueparams['content']['comments']['moderation'] => 'all'
Database Settings (system_setting table)
KeyTypeDescriptionRelation
content_site_labelstringSite label for content section
content_comments_enabledbooleanEnable comments globally