Extensions

There are three kinds of extensions, that can add any kind of functionality to your default CMS Made Simple install. They are called modules, tags and user-defined tags.

Tags

Tags are the simplest form of extensions. They are designed to accomplich just one small and specific task.

There are a number of custom tags available with CMS Made Simple. They are using the Smarty template engine. Find what tags are available in Extensions -> Tags in the Admin Panel.

To insert any of these in a template or a page, simply type e.g. {content}. Many of these Smarty tags are used as placeholders in a template, i.e. placeholders for content, navigation, breadcrumbs etc. You can easily make your own tag to be inserted in a page or a template.

User defined tags

Users can also create their own tags to insert in templates or pages., what is called user defined tags. They are snippets of php code (but without the <?php and ?> surrounding them), providing the ability to add re-usable pieces of php functionality for your site. User defined tags are inserted in templates and pages just like tags: {tagname}.

Share your user defined tags and use those that others have created(external link).

Modules

Modules is the highest level of plugin into the CMS Made Simple environment. They are designed to allow developers to implement complex tasks within CMSMS. A module has an admin interface, and access to an extremely well defined API (Application Programming Interface). It allows developers to construct really intricate or involved functionality within the CMSMS system.

There are a few modules included with the default installation of CMS Made Simple. Other popular modules are Frontend Users, Album, Calendar, Guestbook and Form Builder.

From CMS Made Simple 1.0 modules can be downloaded and installed directly from the admin panel. Find a list of modules to install in Extensions -> Module Manager.

To insert modules in a template or a page, you actually use the module name as a parameter to the {cms_module} tag. It looks like this: {cms_module module='modulename' parameter1='this' parameter2=5 parameter3='that'}. It is normal for modules to accept parameters to effect changes to their default behaviour, though it is not always required.

Read more

You can read more about extensions in the CMSMS documentation(external link).