Extensions

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

Tags

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

There are a number of custom tags available with CMS Made Simple. To find what kind of tags are available look 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.

Website developers who have a bit of PHP experience will find it easy to create and share their own custom tags.

User defined tags

Users can also create their own tags to insert in templates or pages., these are 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 to your site. User defined tags are inserted in templates and pages just like tags: {tagname}.

Typically, user defined tags provide a utility that is special to a website, and likely won't need to be re-used on another site. Also they are typically small and used for simple tasks.

Modules

Modules are the highest level of plugin in the CMS Made Simple environment. They are designed to allow developers to implement complex tasks within CMSMS. A module typically provides advanced functionality, usually interacts with the database in complex ways, and may provide numerous reports or forms on the website. Additionally, a module may have an administrative interface to allow manipulating its data and its settings.

An extremely well defined API (Application Programming Interface) has been written to allow module developers to write complex, intricate, and fully functioning applications for use within a CMSMS powered website.

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.

The ModuleManager module (included with CMS Made Simple) allows browsing a list of available modules, reading about them, and then installing them on your website.

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 behavior, though it is not always required.

Read more

You can read more about extensions in the CMSMS documentation.


Previous page: Menu Manager
Next page: Event Manager


Time: 0.043 / SQL: 0.00552s for 33 queries / Net Memory: 1278696 / Peak: 1700768
Debug: (0.000224) - (net usage: 35608) - (peak: 393312)
Initialize Database
Debug: (0.00079099999999999) - (net usage: 79768) - (peak: 437464)
Done Initializing Database
Debug: (0.00080799999999998) - (net usage: 79928) - (peak: 437624)
initialize internal global cache
Debug: (0.001337) - (net usage: 189152) - (peak: 558624)
done initializing global cache
Debug: (0.001352) - (net usage: 188936) - (peak: 558624)
Loading Modules
Debug: (0.002351) - (net usage: 217592) - (peak: 583464)
End of Loading Modules
Debug: (0.002425) - (net usage: 218360) - (peak: 583464)
Initialize Smarty
Debug: (0.002435) - (net usage: 218520) - (peak: 583464)
Done Initialing Smarty
Debug: (0.002474) - (net usage: 235040) - (peak: 592744)
cms_content_cache: begin load needed content objects
Debug: (0.002577) - (net usage: 235592) - (peak: 593296)
cms_content_cache: end loading needed content objects
Debug: (0.002887) - (net usage: 270064) - (peak: 627768)
SELECT * FROM cms_content WHERE content_id = 7 LIMIT  1
Debug: (0.003314) - (net usage: 281232) - (peak: 638936)
process template top
Debug: (0.003562) - (net usage: 301872) - (peak: 659576)
SELECT * FROM cms_layout_templates WHERE id = 5 LIMIT  1
Debug: (0.004694) - (net usage: 346408) - (peak: 708680)
SELECT * FROM cms_content_props WHERE content_id = 7
Debug display of 'Start Load Smarty Plugin Search/function':(0.006131) - (net usage: 371672) - (peak: 735784)
Debug: (0.006329) - (net usage: 389048) - (peak: 746752)
SELECT * FROM cms_module_smarty_plugins ORDER BY module
Debug display of 'Start Load Smarty Plugin nav_breadcrumbs/function':(0.006654) - (net usage: 382312) - (peak: 746840)
Debug display of 'Start Load Smarty Plugin Navigator/function':(0.007009) - (net usage: 386736) - (peak: 746840)
Debug display of 'Start Load Smarty Plugin module_available/function':(0.007291) - (net usage: 387464) - (peak: 746840)
Debug display of 'End Load Smarty Plugin module_available/function':(0.007313) - (net usage: 388440) - (peak: 746840)
Debug: (0.009291) - (net usage: 413032) - (peak: 783984)
SELECT * FROM cms_content FORCE INDEX (cms_index_content_by_idhier) WHERE content_id IN (1,2,11,22) AND active = 1 ORDER BY hierarchy
Debug: (0.009668) - (net usage: 487128) - (peak: 844832)
SELECT * FROM cms_layout_tpl_type WHERE originator = 'Search' AND name = 'searchform' LIMIT  1
Debug: (0.009861) - (net usage: 490136) - (peak: 847840)
SELECT * FROM cms_layout_templates WHERE type_id = '10' AND type_dflt = 1 LIMIT  1
Debug: (0.010943) - (net usage: 559120) - (peak: 969184)
Start Navigator breadcrumbs action
Debug: (0.011111) - (net usage: 577328) - (peak: 969184)
SELECT * FROM cms_layout_tpl_type WHERE originator = 'Navigator' AND name = 'breadcrumbs' LIMIT  1
Debug: (0.011306) - (net usage: 579752) - (peak: 969184)
SELECT * FROM cms_layout_templates WHERE type_id = '5' AND type_dflt = 1 LIMIT  1
Debug: (0.011645) - (net usage: 589952) - (peak: 969184)
SELECT * FROM cms_content_props WHERE content_id = 2
Debug: (0.011948) - (net usage: 591600) - (peak: 969184)
SELECT * FROM cms_content FORCE INDEX (cms_index_content_by_idhier) WHERE content_id IN (3,4,5,6,8,9,10) AND active = 1 ORDER BY hierarchy
Debug: (0.012364) - (net usage: 604824) - (peak: 969184)
SELECT * FROM cms_content_props WHERE content_id IN (3,4,5,6,8,9,10) ORDER BY content_id
Debug: (0.015212) - (net usage: 742184) - (peak: 1154008)
End Navigator breadcrumbs action
Debug: (0.01528) - (net usage: 727592) - (peak: 1154008)
Start Navigator default action
Debug: (0.015449) - (net usage: 747192) - (peak: 1154008)
SELECT * FROM cms_layout_templates WHERE name = 'Simple Navigation' LIMIT  1
Debug: (0.015953) - (net usage: 770408) - (peak: 1154008)
SELECT * FROM cms_content FORCE INDEX (cms_index_content_by_idhier) WHERE content_id IN (12,13,14,15,16,17,18) AND active = 1 ORDER BY hierarchy
Debug: (0.016424) - (net usage: 866800) - (peak: 1224504)
SELECT * FROM cms_content FORCE INDEX (cms_index_content_by_idhier) WHERE content_id IN (23,30) AND active = 1 ORDER BY hierarchy
Debug: (0.022043) - (net usage: 919136) - (peak: 1356104)
End Navigator default action
Debug: (0.022343) - (net usage: 941592) - (peak: 1356104)
SELECT * FROM cms_layout_tpl_type WHERE originator = 'News' AND name = 'summary' LIMIT  1
Debug: (0.022534) - (net usage: 946384) - (peak: 1356104)
SELECT * FROM cms_layout_templates WHERE type_id = '6' AND type_dflt = 1 LIMIT  1
Debug: (0.022837) - (net usage: 955112) - (peak: 1356104)
            SELECT SQL_CALC_FOUND_ROWS
                mn.*,
                mnc.news_category_name,
                mnc.long_name,
                u.username,
                u.first_name,
                u.last_name
            FROM cms_module_news mn
            LEFT OUTER JOIN cms_module_news_categories mnc
            ON mnc.news_category_id = mn.news_category_id
            LEFT OUTER JOIN cms_users u
            ON u.user_id = mn.author_id
            WHERE
                status = 'published'
            AND
        IF(start_time IS NULL AND end_time IS NULL,news_date <= NOW(),NOw() BETWEEN start_time AND end_time)ORDER BY mn.news_date desc LIMIT 0, 3
Debug: (0.022929) - (net usage: 974736) - (peak: 1356104)
SELECT FOUND_ROWS() LIMIT  1
Debug: (0.023177) - (net usage: 997016) - (peak: 1356104)
SELECT * FROM cms_module_news_fielddefs WHERE public = 1 ORDER BY item_order
Debug: (0.02336) - (net usage: 999488) - (peak: 1357192)
SELECT * FROM cms_content WHERE content_id = 24 LIMIT  1
Debug: (0.023581) - (net usage: 1014336) - (peak: 1372040)
SELECT * FROM cms_module_news_categories ORDER BY hierarchy
Debug: (0.02377) - (net usage: 1016120) - (peak: 1373824)
SELECT news_category_id,COUNT(news_id) AS cnt FROM cms_module_news WHERE news_category_id IN (1) AND ( IFNULL(start_time, '1970-01-01 01:00:01') < '2025-12-06 04:10:51')  AND (( IFNULL(end_time, '1970-01-01 01:00:01') = '1970-01-01 01:00:01') OR (end_time > '2025-12-06 04:10:51'))  AND status = 'published' GROUP BY news_category_id
Debug: (0.032428) - (net usage: 1016224) - (peak: 1520200)
Start Navigator default action
Debug: (0.032588) - (net usage: 1034160) - (peak: 1520200)
SELECT * FROM cms_layout_tpl_type WHERE originator = 'Navigator' AND name = 'navigation' LIMIT  1
Debug: (0.032776) - (net usage: 1038504) - (peak: 1520200)
SELECT * FROM cms_layout_templates WHERE type_id = '4' AND type_dflt = 1 LIMIT  1
Debug: (0.033362) - (net usage: 1074608) - (peak: 1520200)
SELECT * FROM cms_content FORCE INDEX (cms_index_content_by_idhier) WHERE content_id IN (19,20,21) AND active = 1 ORDER BY hierarchy
Debug: (0.033814) - (net usage: 1122304) - (peak: 1520200)
SELECT * FROM cms_content FORCE INDEX (cms_index_content_by_idhier) WHERE content_id IN (25,26,27,28,29) AND active = 1 ORDER BY hierarchy
Debug: (0.034293) - (net usage: 1207392) - (peak: 1565096)
SELECT * FROM cms_content FORCE INDEX (cms_index_content_by_idhier) WHERE content_id IN (31,32) AND active = 1 ORDER BY hierarchy
Debug: (0.040089) - (net usage: 1231952) - (peak: 1666544)
End Navigator default action
Debug: (0.040264) - (net usage: 1233424) - (peak: 1666544)
SELECT * FROM cms_layout_templates WHERE name = 'footer' LIMIT  1
Debug: (0.04245) - (net usage: 1273840) - (peak: 1666544)
SELECT SQL_CALC_FOUND_ROWS S.id FROM cms_layout_stylesheets S LEFT JOIN cms_layout_design_cssassoc D ON S.id = D.css_id WHERE D.design_id = 5 ORDER BY D.item_order ASC LIMIT 0, 1000
Debug: (0.042538) - (net usage: 1291344) - (peak: 1666544)
SELECT FOUND_ROWS() LIMIT  1
Debug: (0.042765) - (net usage: 1324456) - (peak: 1682160)
SELECT id,name,content,description,media_type,media_query,created,modified FROM cms_layout_stylesheets WHERE id IN (4,10,7,1,2,3,13)