Focus CMS – Front Module

2026-02-25

The Focus CMS – Front Module repository provides the public (frontend) presentation layer of the system.
Its responsibility is to manage publicly accessible pages, views, and routing structures, as well as to integrate presentation logic related to themes.

The module includes public controllers (e.g., Post, Page, and other content-type controllers) responsible for handling incoming requests, retrieving data, and returning the appropriate views. These controllers form the connection between the application service layer and the theme’s presentation structure.

The Front Module exists as an independent Composer package, with replaceability being a deliberate architectural decision. By replacing the module, the data-delivery logic for themes can be extended or completely restructured without modifying the core application. This is particularly advantageous for projects with custom querying, routing, or content aggregation requirements.

If a theme does not use dedicated component classes within its views, the Front Module provides the full data preparation layer. However, themes may also implement their own component classes to assume this responsibility, allowing the system to flexibly support multiple architectural approaches.

The module remains separated from the core application, enabling the frontend layer to be developed and versioned independently. This ensures a clean separation between the administrative and public layers while still utilizing the shared service infrastructure.

The Front Module works closely with the theme system and the shortcode engine, ensuring consistent rendering of dynamic content on the public interface.

The repository can be integrated as a Composer package into the Focus CMS – App project, forming a core pillar of the modular CMS architecture responsible for presentation and request handling.


GitHub Repository
https://github.com/hi-personal/focus-cms-front-module