How to write a pluggable module

Some modules are designed to be displayed on visitor-facing pages. Such modules are called "pluggable" modules, and they create "plugins".

Using the "Edit" or "Layout" modes in the admin toolbar, and you can hover over a slot on the page, and then choose to insert a plugin into the slot.

Here is how to write a module that generates plugins.


Basics of plugins

If you want to add new functionality that visitors to your site will see, you will need to write a module that is "pluggable".


Example Module 1: A simple "Hello World!" Plugin

This example shows how to make a simple "Hello World" plugin.

It demonstrates how to write the showSlot() method to output text onto a page.

Example Module 2: A multilingual "Hello World!" Plugin

This example shows a more advanced version of the "Hello World" plugin.

It demonstrates how to write the init() method to change how a plugin is displayed, how to write a Twig framework, and how to make a Twig framework multilingual.

Example Module 3: Plugin Settings and Phrases

This example shows how to create a plugin setting, how to work with phrases to make a plugin multi-lingual, and how to give your module a revision number.

How the Methods of a Pluggable Module are called

When the CMS creates a page and there are plugins in that page's slots, it processes the methods of those plugins' modules according to the following flow