CMS components

While this package bundles several dependencies that support early development, it also has a few pre-built components you might be able to reuse.

These components should be considered as boilerplates and should always be extended with project-specific functionality within your project, not in the package. General improvements of a component are always welcome to be backported to the package though (regarding this, check the Development Kit section for more information).

Most of these boilerplates have only backend implementation as from the point of view of the package, frontend functionality is considered to be a project-specific task.


A simple system that handles categorised articles. Includes models, form and list configs.


Basic Gallery manager that supports albums and image uploads. Includes models, form and list configs.

Text modules

In early development stages of GreenLight it became clear that using the Article system solely would not be flexible enough to satisfy the need for dynamic text occurrences in layout files. For this purpose, Text modules were created and can be used widely either in blade files or directly in controllers.

These categorised and translated records of dynamic HTML content can be used whenever you want to let administrators update certain text occurrences of your site without developer assistance.

Related: getModuleText helper function in Helper functions


Menus and menu items aim to provide a flexible way of creating navigation elements for your page. This component is also responsible for handling the navigation of the admin interface of GreenLight.


A simple Newsletter component. Keep in mind that the current implementation does not use any popular 3rd party mailing services, handles only subscriptions and depending on your implementation and needs, might not be GDPR-ready either.


A similar component to Galleries, with different parameters. Depending on your needs these components could be interchangeable, although most likely for Slideshow purposes this one may fit your project better due to better customization possibilities.