Sunday February - 08 - 2026

Dev CMS Made Simple

Home

Congratulations! The installation worked. You now have a fully functional installation of CMS Made Simple and you are almost ready to start building your site.

If you chose to install the default content, you will see numerous pages available to read. You should read them thoroughly as these default pages are devoted to showing you the basics of how to begin working with CMS Made Simple. On these example pages, templates, and stylesheets many of the features of the default installation of CMS Made Simple are described and demonstrated. You can learn much about the power of CMS Made Simple by absorbing this information.

To get to the Administration Console you have to login as the administrator (with the username/password you mentioned during the installation process) on your site at http://yourwebsite.com/cmsmspath/admin. If this is your site click here to login.

Read about how to use CMS Made Simple in the documentation(external link). In case you need any help the community is always at your service, in the forum(external link) or the IRC(external link).

License

CMS Made Simple is released under the GPL(external link) license and as such you don't have to leave a link back to us in these templates or on your site as much as we would like it.

Some third party add-on modules may include additional license restrictions.

How CMSMS Works

So how is a web-site created with CMS Made Simple? There are a couple of terms that are central to understanding this.

You first need to have templates, which is the HTML code for your pages. This is styled with CSS in one or more style sheets that are attached to each template. You then create pages that contain your websites content using one of these templates.

That doesn't sound too hard, does it? Basically you don't need to know any HTML or CSS to get a site up with CMS Made Simple. But if you want to customize it to your liking, consider learning some CSS(external link).

In the menu to the left you can read more about this, as well as more advanced features like the Menu Manager, additional extensions for adding many kinds of functionality to your site and the Event Manager for managing work flow. Last is a summary of the basic work flow when creating a site with CMS Made Simple.

Templates and stylesheets

A template is basically the HTML layout, or the design, of a page. This is the work of the designer. Whatever is in a template is used on every page that uses that template, meaning that the person editing the content doesn't need any web design skills.

In the template there are placeholders for content and navigation areas. When a user is visiting your site the page is automatically generated from the template and the placeholders are filled with the content.

The template is the HTML structure. It is then styled in one or more style sheets that are attached to each template. This styling is done with CSS. So to get a site look the way you want you should be familiar with HTML and CSS on at least a basic level. But don't worry, there are themes with ready-made templates and style sheets for you to download!

When you first install CMS Made Simple there are some basic templates that you can use and customize to your needs. Those templates are described in the section Default Templates Explained. The designer of your site can also add new templates to make the site look any way you want. The CMSMS community also shares themes for anyone to download and use at the CMSMS Themes site(external link).

Templates and style sheets in the CMSMS Admin Panel

In the CMSMS Admin Panel you will find the templates and style sheets in the Layout menu.

Pages and navigation

Pages determine the structure of your web-site as seen in the admin Content » Pages page. Think of a web-site as a set of pages. These pages are accessed through a menu. You can also link to a page from within another page.

Navigation/Menu

The navigation, or the menu, is a set of links that help the user to navigate through the pages on your web site. These links are automatically created by CMS Made Simple from the page structure. This hierarchy is what drives the menu you see on the left of this page.

Pages can be in several levels, like a tree of generations. The top level in the menu are the parent pages. Each parent page can have children pages, which in turn can be parents to other children.

The page template determines where on a page the navigation is placed.

You can create any kind of navigation you can dream of by customizing a menu template for Menu Manager. However, the default templates should work for most situations as the menu basically is just an unordered list that you style to your liking with CSS. The web is full of good articles about styling a list of links, one of the best is listutorial at maxdesign(external link)

Pages in the CMSMS Admin Panel

You add pages, as well as other content (see next chapter), in the CMSMS Admin Panel from the Content » Pages menu.

Content

The content is the information for the page. We have already mentioned that for each page on your site you choose what template to use. When you add content to a page, it is automatically placed in the placeholders of the template selected for that page.

A template can define one or several content areas, or content blocks. To add more content blocks to your template, use {content block='block name'}. These blocks will then appear as text areas when you edit or add a page that uses that template.

You can make a content block use only one line, instead of a full text area, by using the parameter oneline=true. That is, the full tag being: {content block='block name' oneline=true}. Read about more parameters in the help for the Content tag in the CMSMS Admin Panel, under Extensions » Tags.

Content Types

There are currently 6 main content types in version 1.12.2 "Kolonia". These content types determine the type of content for each menu item.

  • Content
  • Error Page
  • External Page Link
  • Internal Page Link
  • Section Header
  • Separator

The Content type is simply a regular page. Normally this is the only one you will use. That is what this page you are reading is. Here you can put any content that you would put on a regular page. The layout of these types of pages are controlled by the templates. For each content page you create you must add the title, menu text, choose if it is going to have a parent and choose a template for it. If you login as admin and change the template of this page, you will see exactly how it works.

The Error Page type is just what it sounds like, a page you set for "404 page not found" errors, where you can add the content that shows when a 404 error occurs, a target type and title, you can also choose the template it uses, it has no parent as it is not part of the menu.

The External Page Link type is just what it sounds like, a link to another external page and you add the title, menu text, choose if it is going to have a parent and a destination page along with the target setting and other options that a content type page has. This external page link type also shows up in the menu following the same hierarchy rules as the content type.

The Internal Page Link type is also just what it sounds like, a link to another internal page. This internal page link type also shows up in the menu following the same hierarchy rules as the content type and you add the title, menu text, choose if it is going to have a parent and a destination page along with the target setting and other options that a content type page has.

The Section Header type is used to break up menus into groupings (sections). This is unrelated to the hierarchy, as the section headers have no associated pages with them but can be used to group a set of links of similar content under them. They are just a little bit of text to say what the next few links are in reference to.

The Separator type is just what it sounds like, a separator that appears on the menus. This type follows the hierarchy set in content management pages.

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.

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

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(external link).

Event Manager

Events are a new powerful way of assigning actions to events. For example if you would like to send an email to the site administrator when a new file is uploaded or a new page is created by another user you could add some code to those events to be executed when that event happens.

In brief here's how it works:

a) A module, or the core, can register, and then Send Events such as "newNews", or "newFronteEndUser" or "fileUploaded", "editPage", etc, etc, etc. there's some 50 events in the core at the moment, and then uploads and frontend users have been configured to send events, We still have to do selfreg, etc, etc, etc.

b) There are pages in the admin to allow you to specify which modules, and/or user tags should handle those events, and the order that each of those handlers should be called in.

c) If one of the handlers of an event is a module, then.... the modules DoEvent method is called with the name of the event, and whatever data it wants to send. Each triggered event needs to be documented, but as of this moment, most are.

Workflow

These are the basic steps when creating a website with CMS Made Simple:

  1. Plan -- Determine what pages you want (structure) and how you want these pages to look (design).
  2. Create Templates -- Create one or several template(s) that determine the layout of your pages.
  3. Style the Templates -- Attach one or more stylesheets to each template and style the layout and content with CSS.
  4. Create Pages -- Then you create pages, add content to them and select what template to use for each page.

When a user navigates to your site the page is created from the template, adding the content where the placeholder(s) are in the template.

Where do I get help?

The CMS Made Simple community is always at your service if you need some help with your site. Here is where you find more information and support:

  • The CMSMS Forums(external link) -- here you can search for answers to your questions or ask just about anything.
  • IRC(external link) -- IRC is short for Internet Relay Chat and is like a community chat. Many developers hang out here and others that are ready to discuss and give support.

Please remember that people involved in developing and supporting CMSMS have day jobs and other duties and might not be available 24/7. Be patient and polite and you will get better answers.

Hope you will enjoy using CMS Made Simple for creating your web sites! If you want to contribute to the development yourself, you are very welcome to do so. You can contact us on IRC(external link) or hit the forums(external link) to get involved.

Default Templates Explained

CMS Made Simple 1.12.2 was installed with numerous default templates (you choose this during the installation process). These are to display some of the features of CMS Made Simple and to give you a head start when creating your own web sites.

The tags that are unique to templates in CMS Made Simple are described on the page CMSMS tags in the templates (see menu to the left). Click on any link beneath that page in the menu to the left to see what the default templates look like.

Changing the style of Default Templates

All of the templates and style sheets have comments throughout them to help you find where to change the look of them.

Menus/navigation

Two kinds of navigation are used in these templates. For each there is a menu template in the Menu Manager. CSSMenu is a dropdown menu using only CSS. Well, for Internet Explorer 6 some JavaScript has to be used... Two of the page templates are using CSSMenu for navigation, one with the menu horizontally at the top and the other with the menu vertically to the left.

The other navigation type is what we call Simple Navigation. That is just an unordered list that gets its style and appearance from the style sheets (CSS). Also here one page template is using a horizontal simple navigation and the other a vertical menu.

The menu tag in each template is used like this: {menu template='cssmenu.tpl'}, where the cssmenu.tpl is the name of the Menu Manager template, if you make a custom menu template you don't need to use the .tpl on the end. More parameters can be used, for example to start a menu from the second level, collapse the children pages until the parent is clicked etc. Read more about that in the Menu Manager Help in the Admin Panel.

CMSMS tags in the templates

Here we explain the tags that are used in the default templates that are specific to templates in CMS Made Simple. The rest of the templates are just pure HTML. You can read more about that in the documentation wiki(external link).

Page title

<title>{sitename} - {title}</title>

For each page using these tags in a template the tags are replaced with the site name you specify in Site Admin » Global settings and the title you specify when you add/edit each page.

Read more about the {sitename} and {title} tags in Extensions » Tags in the Admin Panel.

Metadata

{metadata}

This tag adds to your page any metadata that you have specified in Site Admin » Global settings and also page specific metadata that you can add under the Options tab when adding/editing a page.

It is also used for knowing the base folder for your site when using pretty URLs. So don't remove this if you use Pretty URLs!

Read more about the {metadata}tag in Extensions » Tags in the Admin Panel.

Stylesheets (deprecated)

{stylesheet}

This tag links to all style sheets (CSS) that you have attached to a template. It means that you only have to add this tag once and all attached style sheets will be linked automatically.

Read more about the {stylesheet} tag in Extensions » Tags in the Admin Panel.

Stylesheets

{cms_stylesheet}

This tag is the newer version of the tag above. The tag links to all style sheets (CSS) that you have attached to a template. It means that you only have to add this tag once and all attached style sheets will be linked automatically.

The new tag allows you to use smarty variables like [[$red]] to indicate a color, and one change will change it througout your layout. The new tag requires that [[root_url]]/ be put in front of images, as the stylesheets are cached.

Read more about the {cms_stylesheet} tag in Extensions » Tags in the Admin Panel.

Relational links

{cms_selflink dir="start" rellink=1}
{cms_selflink dir="prev" rellink=1}
{cms_selflink dir="next" rellink=1}

These are relational links for interconnections between pages, which is good for accessibility and Search Engine Optmization

Read more about the {cms_selflink} tag in Extensions » Tags in the Admin Panel.

Page width in Internet Explorer 6

{literal}
<script type="text/JavaScript">
<!--
//pass min and max -measured against window width
function P7_MinMaxW(a,b){
	var nw="auto",w=document.documentElement.clientWidth;
	if(w>=b){nw=b+"px";}if(w<=a){nw=a+"px";}return nw;
}
//-->
</script>
<!--[if lte IE 6]>
<style type="text/css">
#pagewrapper {width:expression(P7_MinMaxW(720,950));}
#container {height: 1%;}
</style>
<![endif]-->
{/literal}

This isn't a tag really, but displays how to insert JavaScript in a CMSMS template.

The default templates use fluid page width. But Internet Explorer 6 doesn't understand min-width and max-width, so for that browser the min and max page width is set with this JavaScript. For other browsers the page width is set in the style sheets beginning with "Layout: ..."

Skip links for accessibility

{anchor anchor='main' title='Skip to content' accesskey='s' text='Skip to content'}

Anchor links (links to an anchor in the same page) are inserted with the {anchor} tag. In the default templates this is used for skip links that are visible to screen readers, but hidden with CSS to visual browsers.

Read more about the {anchor} tag in Extensions » Tags in the Admin Panel.

Header with logo image that links to default page

{cms_selflink dir="start" text="$sitename"}

In the header the <h1> tag (hidden by CSS) is a link to the page that is selected as the default page. The dir="start" parameter in the {cms_selflink} tag is used for this. To get the site name as the text for the link, the $sitename variable is used.

Read more about the {cms_selflink} tag in Extensions » Tags in the Admin Panel.

Search

{search}

To insert a search form on your site, simply use the {search} tag. Search is actually a module and should therefore be called as a parameter in the {cms_module} tag, like this: {cms_module module='search'}. But to simplify matters, we did a wrapper tag so that it's easier to remember.

Read more about the Search module in Extensions » Modules in the Admin Panel.

Breadcrumbs

{breadcrumbs starttext='You are here' root='Home' delimiter='»'}

Breadcrumbs is a path to the current page. In the default templates we have chosen to put the text 'You are here' before the path and force 'Home' to always be the root in the path, even if it isn't. With the delimiter parameter you can select the delimiter that separates entries in the path.

Read more about the {breadcrumbs} tag in Extensions » Tags in the Admin Panel.

Navigation

{menu template='simple navigation.tpl' collapse='1'}

This is how you insert a menu where you want it to appear. Like the {search} tag, this is actually just a wrapper tag, as the Menu Manager is a module.

In the default templates the menu manager template that is used for the menus are stored in files. That's why you see the .tpl extension in the template parameter. But you can easily import menu templates to the database and edit them directly in the Admin Panel. Then you simply omit the .tpl extension in the template parameter.

Read more about the Menu Manager module in Extensions » Modules in the Admin Panel.

News

{news number='3' detailpage='news'}

This tag will display the last three news articles. When clicking a news article to read the details, it is opened on the page with the page alias 'news'. That's what the detailpage parameter is doing.

Like all core modules there is a wrapper tag for the News module, to make it easier to use.

Read more about the News module tag in Extensions » News in the Admin Panel.

Print button

{print showbutton=true script=true}

The {print} tag is used to insert a print link. With the showbutton parameter set to true we have told the tag to output a button instead of text. The script parameter set to true means the print dialog window opens when clicking the button, for immediate printing.

The {print} tag prints everything that is in your {content} tag, that is only the content for a page.

Read more about the {print} tag in Extensions » Tags in the Admin Panel.

Page content

<h2>{title}</h2>
{content}

Maybe the most important tag in your template. Where you put the {content} is where the content for your page will appear.

We have also chosen to put the page title on every page (the {title} tag), so that you don't have to put that in the content for every page.

The default {content} tag is required for all templates.

Read more about the {content} and {title} tags in Extensions » Tags in the Admin Panel.

Previous/next links

{anchor anchor='main' text='^ Top'}
{cms_selflink dir="previous" label="Previous page: "}
{cms_selflink dir="next"}

Some more internal links. These are using the dir parameter to link to the previous and next pages in the page hierarchy (separators and section headers will be omitted as they are no pages).

Page footer

{global_content name='footer'}

Instead of bloating your template with lots of code you can put some code in a Global Content Block. Then call that Global Content Block with the {global_content} tag. It's also useful for content or HTML code that is reused on several pages or templates.

In the default templates we have put the footer text in a Global Content Block with the name 'footer'. You find the Global Content Blocks in the Content menu in the Admin Panel.

Read more about the {global_content} tag in Extensions » Tags in the Admin Panel.

Top simple navigation + left subnavigation + 1 column

With the Menu Manager you can easily split the navigation in two parts. On this page the top level in the page hierarchy is displayed horizontally and depending on what page is displayed a localized sub-menu is displayed vertically to the left. In this case the sub-menu to the left displays the sub-levels (children) to Default Templates Explained.

The {menu} tag

The {menu} tag is inserted twice in the page template. First where the main navigation is, which should only show the top level. It looks like this: {menu template='simple_navigation.tpl' number_of_levels='1'}.

The sub navigation should only contain the second level and down, depending on what is selected on the first level. Also, the third level links should only display when its parent on the second level is clicked, otherwise they are hidden. That is, the second level is collapsed unless the current page has sub pages.

The tag for the sub navigation looks like this: {menu template='simple_navigation.tpl' start_level='2' collapse='1'}.

Attached style sheets for the menu

As the main navigation and the sub navigation need to be styled differently (one horizontal, the other vertical), two navigation style sheets are attached to this page template. Navigation: Simple - Horizontal is for styling the horizontal main menu. Navigation: Simple - Vertical on the other hand, contains the style for the sub navigation to the left.

Both using the same Menu Manager template

However, as you could see, both parts of the navigation are using the same menu manager template. That is because the output code is the same. It is only through CSS that the two parts get styled differently.

Floating the sidebar to the right

You can easily float the sidebar with the sub navigation to the right instead. Look in the Layout: Top menu + 2 columns style sheet for the float:left; property in the div#sidebar element. Change that to float:right; and the sidebar with the menu will instead be on the right side of the content, of course you will also have to adjust the margins for the sidebar and the div#main, basically just swap the left and right margins.

This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.

The code we have inserted in the template that this page is using is simply {menu template='cssmenu.tpl'}. You style the menu in the stylesheet Navigation: CSSMenu - Horizontal or Navigation: CSSMenu - Vertical for the vertical CSSMenu.

But to be on the safe side, copy this style sheet and attach your new style sheet to the template instead (and make your changes in your new style sheet). Then you can always revert to the default style sheet if something goes wrong.

CSSMenu left + 1 column

This is basically the same as the last one, CSSMenu top + 2 column, with the menu on the left instead of across the top there isn't a whole lot to say about it.

Filler Text

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut ac leo in lorem ultricies sollicitudin. Vivamus molestie elit nec nulla. Suspendisse potenti. Suspendisse at lorem. Donec pulvinar, magna eget molestie pretium, justo sem iaculis urna, eget condimentum nibh augue pellentesque arcu. Integer tristique tempor mauris. Sed justo orci, commodo volutpat, sagittis vitae, varius vitae, massa. Maecenas pede ligula, iaculis sit amet, pharetra eu, adipiscing consectetuer, eros. Duis ullamcorper nisl ac magna. Nunc neque dolor, posuere dapibus, convallis non, tristique sed, nibh. Suspendisse quis leo. Phasellus pretium erat ut purus. Duis facilisis consectetuer sapien. Nulla eget pede ut nisl faucibus consequat. Quisque erat lectus, luctus in, pellentesque ac, adipiscing eu, enim. Donec ultrices laoreet urna.

Subheading

Vestibulum vitae tellus. Fusce quis ligula. Cras mi. Mauris congue, lacus eget rhoncus venenatis, mi nunc volutpat nisl, ut ornare erat augue quis mauris. Nulla in sem. Donec semper odio ac ante. Cras a libero in risus mattis commodo. Phasellus pellentesque lectus. Donec a mi. Integer euismod neque at arcu. Morbi ligula nulla, dapibus nec, fermentum ut, tristique vel, pede. Morbi at diam. Vestibulum quam. Cras consectetuer wisi id neque. Etiam dictum vulputate ligula. Aliquam erat volutpat. Proin vitae lorem in justo imperdiet nonummy. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Suspendisse leo. Sed in eros ut lectus lacinia condimentum.

Minimal template

This is an example of the very minimal that needs to be in a CMSMS template. No stylesheet is attached to the template, which is why it doesn't look very nice...

However, to make it slightly more appealing, some inline styling was used, for floating the content to the right of the menu.

The menu in this page template is using the Minimal Navigation template for Menu Manager. No accessibility stuff is in there, so it's recommended that the Simple Navigation menu template is rather used.

Higher End

These are more complex then some of the other templates, especially the menus, they all 3 use the same menu template. Which shows you the power of CSS.

Be forewarned, if you use IE6 you won't see the best effects in any of the shadow menus that you see using a more standards compliant browser. I mean it's still nice grant you but... just upgrade your browser if you can.

The Differences

Starting with NCleanBlue you get a really nice, subtle Tabbed menu, then it goes on to have a real nice drop down effect.

You get a real nice 2.0 header and footer, great color scheme and the search is way cool, it's just a great theme, what can I say, thanks Nuno.

Then the next 2 submenus have another version of the shadowed drop, the first step will point up for the top sub menu and to the right for the left sub menus.

These 2 are the same layout as CSSMenu top + 2 columns and CSSMenu left + 1 column, respectively, except for the menu template and some CSS.

We hope you enjoy these, for any changes you want to make it's always best to copy the original style sheet for safe keeping, you never know when you may need it.

NCleanBlue

Nuno has graciously supplied us with another of his great looking designs.

This one is using a new menu template so we can style the drop down for the children pages, using an image for the second ul going from the top down, it has an extra li at the bottom of the child pages ul <li class="separator once" style="list-style-type: none;">&nbsp; </li> this is used to hold the bottom image.

Filler Text

Maecenas tristique, tortor nec eleifend luctus, nibh leo imperdiet wisi, et accumsan est lectus in orci. Proin facilisis, odio auctor feugiat accumsan, sapien purus iaculis dui, a volutpat augue pede ut sem. Nulla facilisi. Aliquam suscipit elementum ipsum. Morbi urna. Nam eros justo, varius sit amet, euismod eu, dictum nec, neque. Nullam id mi eu odio tempor adipiscing. Quisque hendrerit euismod nunc. Ut erat nulla, pellentesque nec, luctus eu, dictum nec, augue. Aliquam tincidunt sodales arcu. Nam porta sagittis quam. Vivamus eget purus egestas velit congue consectetuer.

ShadowMenu Tab + 2 columns

Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.

Filler Text

Curabitur ornare velit molestie nulla. Fusce fermentum facilisis mi. Maecenas volutpat, eros ac pellentesque mollis, urna elit rutrum turpis, congue convallis nibh erat nec purus. Sed malesuada consectetuer turpis. Nulla sollicitudin placerat augue. Vestibulum ut sem eget turpis laoreet cursus. Vestibulum ante urna, mollis eget, cursus eget, viverra non, lectus. Aliquam erat volutpat. Aenean gravida tempor nulla. Sed sem lorem, pulvinar non, placerat non, vestibulum sed, tellus. Phasellus fermentum velit id dui. Praesent vulputate. Nam in dui.

Maecenas tristique, tortor nec eleifend luctus, nibh leo imperdiet wisi, et accumsan est lectus in orci. Proin facilisis, odio auctor feugiat accumsan, sapien purus iaculis dui, a volutpat augue pede ut sem. Nulla facilisi. Aliquam suscipit elementum ipsum. Morbi urna. Nam eros justo, varius sit amet, euismod eu, dictum nec, neque. Nullam id mi eu odio tempor adipiscing. Quisque hendrerit euismod nunc. Ut erat nulla, pellentesque nec, luctus eu, dictum nec, augue. Aliquam tincidunt sodales arcu. Nam porta sagittis quam. Vivamus eget purus egestas velit congue consectetuer.

ShadowMenu left + 1 column

Again using the same menu template as the two previous themes. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the second level and third level ul are now using the same image that has an arrow left.

Filler Text

Curabitur ornare velit molestie nulla. Fusce fermentum facilisis mi. Maecenas volutpat, eros ac pellentesque mollis, urna elit rutrum turpis, congue convallis nibh erat nec purus. Sed malesuada consectetuer turpis. Nulla sollicitudin placerat augue. Vestibulum ut sem eget turpis laoreet cursus. Vestibulum ante urna, mollis eget, cursus eget, viverra non, lectus. Aliquam erat volutpat. Aenean gravida tempor nulla. Sed sem lorem, pulvinar non, placerat non, vestibulum sed, tellus. Phasellus fermentum velit id dui. Praesent vulputate. Nam in dui.

Maecenas tristique, tortor nec eleifend luctus, nibh leo imperdiet wisi, et accumsan est lectus in orci. Proin facilisis, odio auctor feugiat accumsan, sapien purus iaculis dui, a volutpat augue pede ut sem. Nulla facilisi. Aliquam suscipit elementum ipsum. Morbi urna. Nam eros justo, varius sit amet, euismod eu, dictum nec, neque. Nullam id mi eu odio tempor adipiscing. Quisque hendrerit euismod nunc. Ut erat nulla, pellentesque nec, luctus eu, dictum nec, augue. Aliquam tincidunt sodales arcu. Nam porta sagittis quam. Vivamus eget purus egestas velit congue consectetuer.

Simplex Theme

Simplex Theme has been created to demonstrate HTML5 and CSS3 functionality within CMS Made Simple™.
It is shipped with a CSS Framework making it possible for you to create Responsive and Mobile capabale layouts with ease.

What is included?

With this Template you will find four Stylesheets attached to it.

  • Simplex: Core
  • Simplex: Layout
  • Simplex: Mobile
  • Simplex: Print

Main Functionality of this Template is included in Core Stylesheet. It contains a simple Fluid Grid Framework based on 960 Grid System(external link).
In this same Stylesheet CSS Media Queries(external link) are being used that make it possible for a flexible layout based on Screen width.

With Simplex Theme it is very easy to quickly change appearance of complete Site at once. If you look at Page Template code you will find "boxed" id in the <body> tag.
When this id is removed the Layout of the Site is changed and you would face a simple layout with White background.
You can also quickly change allignement of the complete Site. If you change the class of "wrapper" div to leftaligned or rightaligned, whole Page will be aligned to left or right.

Support for Mobile Devices

As mentioned above this Theme is shipped with Stylesheet Framework that gives you a starting point for easy developement of Responsive Layout.
Mobile world is very versatile and Framework itself is by no means perfect, it is only a starting point but as a Developer you should decide which technique you should use for your current Project.
Responsive Template is only one small step towards Mobile support.

This Theme requires jQuery(external link) which is included with {cms_jquery} tag.

Note: {cms_jquery} tag is included at the bottom of the Template. You should be carefull with it when you are using Modules that include jQuery in <head> section.

In file functions.js a section is included that makes it possible of Navigating through site with some Mobile Devices. This part of the code, covers only few devices and it is only meant as an example and a starting point for Developer.

This and that

As an example of Smarty(external link)power within CMS Made Simple™ Templates a very simple Slider has been included, which demonstartes how easy it is to quickly create a Slideshow without a single Module.

{assign var='teaser' value='uploads/simplex/teaser/*.jpg'|glob}
{foreach from=$teaser item='one'}
<div><img src='{root_url}/{$one}' width='852' height='275' alt='' /></div>
{/foreach}

If you would like to make this Slider responsive you should include a additional jQuery Plugin like for example SwipeJS(external link)

In included Stylesheets, Smarty has been used as well. This should make it possible for you, to quickly change Color scheme of the theme by simply changing HEX code within assign Tags.


[[assign var='boxed_bg' value="#d1d1d1 url(`$path`/boxed-bg.gif)"]]
[[assign var='light_grey' value='#f1f1f1']]
[[assign var='grey' value='#e9e9e9']]
[[assign var='dark_grey' value='#555']]
[[assign var='white' value='#fff']]
[[assign var='orange' value='#f39c2c']]
[[assign var='dark_orange' value='#e6870e']]
[[assign var='yellow' value='#fdbd34']]

If you are using a modern Browser, you will notice that the Theme is using some of CSS3(external link) techniques. There are no Internet Explorer fallbacks included but this doesn't mean that it does not work in Internet Explorer.
A Visitor that is using Internet Explorer will simply see a Layout with gracefull fallback, meaning animations will not animate, rounded corners will be edges...

Note from Theme Develper Goran Ilic (uniqu3e):

The Simplex Theme was kept simplistic which should make it possible for a Developer to easily read code used in Theme and either create a new Layout from it or editing this Theme.

A full Internet Explorer or Mobile support was intentionally not included, as each Developer should decide how far a old Browser like Internet Explorer (7,8) or which Mobile devices he wants to support and which Technique he will use.
Each Project is different and with each Project there is a need for different techniques.

Default Extensions

With the default installation of CMS Made Simple come six modules and a number of tags. The features of these are described and displayed on the following pages.

To find out more about the core modules, click Modules. For an explanation the core tags, simply click Tags.

Modules

There are six modules that come with the default installation of CMS Made Simple. On the following pages we explain how these are used. Click on each module name in the menu to the left or in the list below.

To insert a module in a template or a page you normally use the {cms_module} tag with the module name as one of the parameters. But to simplify things, all core modules also have a tag wrapper, so that they are called simple by their name, like {news}.

News

Most web sites have a section for the latest news. In CMS Made Simple the best way to accomplish that is by using the News module.

To display a list of news items you insert the tag {news number='5' category='General'}. On this page the tag is inserted in the template. But it can also be inserted on a page. You can see the News module in use in the sidebar to the left.

There are a number of parameters that can be used in conjunction with this tag. To read about how a module is used, navigate to Extensions » Modules in the Admin Panel and click on "Help" for the module you want to read about.

Theme Manager

The Theme Manager module allows you to import and export templates and their attached stylesheets, including any images they use, as "themes". This allows you to share your look and feel with other CMSMS users.

It is very easy to convert any kind of template to be used with CMS Made Simple. Many templates like this have already been converted and can be installed using the Theme Manager, the CMSMS community also shares themes for anyone to download and use at the CMSMS Themes site(external link).

MicroTiny

MicroTiny is a so called WYSIWYG editor for editing pages. WYSIWYG stands for What You See Is What You Get. It works similar to a word processor, where you can select the style for the content and see how it is going to look on the page.

Among available WYSIWYG editors CMS Made Simple has decided to use MicroTiny (the stripped down version of TinyMCE). TinyMCE is among the most developed WYSIWYG editors, with regular updates, a large following and customizable features.

However, it is very difficult to create a cross-browser online editor that works in all different kinds of environments. If you are familiar with HTML you can select no WYSIWYG in My Preferences » User Preferences in the Admin Panel. That gives you more control over the code that will be on the page.

There are also other WYSIWYG editor modules available for download.

Module Manager

A client for the ModuleRepository, this module allows you to see what modules are available, the version number, size, and Status/Action (whether it is already installed or not), read the Help and About for each module, letting you install modules from remote sites without the need for FTP'ing, or unzipping archives. Module XML files are downloaded using SOAP, integrity verified, and then expanded automatically.

ModuleManager now checks dependencies. When dependencies are set, the module wont install until dependencies are met. Also a new tab is available, that shows newer versions of installed modules.

In short, this means that you can download and install modules directly from the Admin Panel. Any module that has been released as an XML file can be downloaded and installed. Go to Extensions » Module Manager in the Admin Panel to see the list of modules from the official CMSMS repository in the CMSMS Development Forge.

Tags

There are a number of custom tags included with the default CMS Made Simple installation. They are all described and demonstrated in the following page, and user defined tags are in the next one.

To use a tag, simply put it in the template or page like this: {nameoftag}. Some tags can also take parameters, which are described in the Help that is accessible for each tag in Extensions » Tags in the Admin Panel.

Tags in the core

There are plenty of tags included with the CMSMS core. Some of them are demonstrated here, for any questions as to the parameters they can take or anything else please see the Tags Help.

{anchor}

Syntax used
{anchor anchor='here' text='Scroll Down' class='myclass' title='mytitle' tabindex='1' accesskey='s'}
Display
Creates a link to an anchor on the same page. Used for example for the ^Top link at the bottom of this page.

{cms_breadcrumbs}

Syntax used
{cms_breadcrumbs root='Home'}
Display
Breadcrumbs are a navigational technique displaying all visited pages leading from the home page to the currently viewed page. You find it under the header on this page.

{cms_module}

Syntax used
{cms_module module='somemodulename' param1='something' param2=true}
Display
This tag is used to insert modules into your templates and pages. Used for any module that you download. In the default templates, wrapper tags are used for inserting modules though. That is, a tag is made to insert a cms_module tag.

{cms_selflink}

Syntax used
{cms_selflink page="1"} or {cms_selflink page="alias"}
Display
Creates a link to another CMSMS content page inside your template or content. Can also be used for external links with the ext parameter.
Example
Link to the modules page
This is an external link to the CMS Made Simple website(external link)

{cms_version}

Syntax used
{cms_version}
Display
Displays current version number of CMS Made Simple.
Example
See the footer on this page.

{cms_versionname}

Syntax used
{cms_versionname}
Display
Displays current version name of CMS Made Simple.
Example
See the footer on this page.

{current_date}

Syntax used
{current_date format="%A %d-%b-%y %T %Z"}
Display
Prints the current date and time.
Example
Sunday 08-Feb-26 14:16:54 MST

{embed}

Syntax used
{embed url="http://www.cmsmadesimple.org"}
Display
Enable inclusion (embeding) of any other application into the CMS. The most usual use could be a forum.

{global_content}

Syntax used
{global_content name='footer'}
Display
Inserts a Global Content Block (previously known as HTML blob) into your template or page. The code for the footer of this page is in a Global Content Block.

{menu_text}

Syntax used
{menu_text}
Display
Prints the menu text of the page.
Example
Home

{modified_date}

Syntax used
{modified_date format="%A %d-%b-%y %T %Z"}
Display
Prints the date and time the page was last modified.
Example
Thursday 11-Apr-24 15:20:45 MST

{print}

Syntax used
{print}
Display
Creates a link to only the content of the page.
Example
Print this page

{site_mapper}

Syntax used
{site_mapper}
Display
Prints out a sitemap.
Example

{valid_xhtml}

Syntax used
{valid_xhtml}
Display
Creates a link to the W3C HTML validation service.
Example
valid XHTML 1.0 Transitional

User Defined Tags

One of the little known features of CMS Made Simple is the User Defined tag. Basically, this allows you to write PHP code inside the Admin Panel. Use the 'Add User Defined Tag' button in Extension » User Defined Tags in the Admin Panel, write some code, and then insert into a template or page with {newpluginname}. Simple!

As an example, I've put together a one line plugin/tag that will show your current User Agent information (which browser you're using). The output is right here: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com).

If you're not looking at the source, all that is in the page is {user_agent}. To see how this code works, edit the user_agent tag in the Extensions » User Defined Tags page of the admin.

This is a VERY powerful feature if used right. Remember, user defined tags do not get cached, therefore, scripts to rotate ad banners and such will work just fine. Note also that tag code has to be written without opening < ? php and ending ? > tags.