Mambo CMS Review

CMS Roundup: The search for the perfect Content Management System

Size: 922 KB (.92 MB)(compressed)
Version Tested: 4.5 Stable-1.0.9

Site I tested it with:

See this script in action on one of my sites! Follow the link:


I downloaded the tar from their server, uploaded it to mine, and extracted it. This distribution is much smaller than Sitellite. Does leanness mean more speed? We'll find out. The next step was to go to the address where Mambo was installed in your browser. For example, if you installed it in your root directory, just go to in your browser and you should see an install screen. Follow the directions on the page (I had to chmod a few directories to 777, which was easily done in my favorite FTP program, FileZilla). Only problem I had was that I had to copy and paste the configuration code into configuration.php manually. The problem with this was the code they supplied had carriage returns after the ?> YOU WILL GET ERRORS IF YOU LEAVE THESE IN THERE. Make sure that ?> is the last line.

First Impression

Go to to login. Like Sitellite, the interface is very clean and usable. You control everything from the menubar at the top.


Great documentation on how to create templates can be found on the Mambo site. Luckily, template creation is actually pretty easy. To create a template, go to the templates/ folder in your Mambo installation, and duplicate one of their example templates. Now rename the folder. There are 4 important files. 'index.php' is the main page of your template. 'css/template_css.css' is your CSS file. 'templateDetails.xml' is a file that stores information about your template. Last, 'template_thumbnail.png' is just a preview image of your template for use of the admin. I pasted my template code in, and then added in a few lines of PHP code, based on the example template Mambo supplied. First, I placed <?php echo $mosConfig_sitename; ?> between the title tags. I added the following code between the head tags.

if ($my->id) {
    include ("editor/editor.php");
<?php include ("includes/metadata.php"); ?>
<script language="JavaScript" type="text/javascript">
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
<link href="<?php echo $mosConfig_live_site;?>/templates/mt_business/css/template_css.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="<?php echo $mosConfig_live_site;?>/images/favicon.ico" />

Note: you may have to change the link to the CSS file. Also, make sure that before a link to any image, place the code
<?php echo $mosConfig_live_site;?>
. This adds the absolute URL to every image so the links will always work.

Learning Curve

Mambo does have the steepest learning curve out of all of the CMS's, but this is made up for by excellent and abundant documentation. One great site for mambo is and At Mambo Portal, you can find over 10 separate tutorials on creating templates, where Sitellite had 1.

Things I Learned

The most important thing is to install the right Modules and Components. The most important component is called MyMenus. It allows an unlimited number of custom menus. You can download it here. Also, you need to add content, you need to create a section AND a category in the section before you can add any items. Another great add-on is Submit Content Link. This allows you to link directly into a content page from the menu, instead of having to link to a category page, and make the user select the main page. This helps to get around the "sections/categories" problem I am having.

Match to Requirements

  • Page-Based: Hard to create individual pages. Had to create "typed content" from the more menus component. I've heard that the newer versions no longer have this problem.
  • Runs on LAMP: Yes.
  • Runs on shared hosting: Yes.
  • WYSIWYG editing: Yes.
  • Friendly URLS: Yes.
  • Open-Source: Yes.
  • Easy template engine: Good. Didn't have any problems. Everything in PHP helps
  • Flexibility: Again, hard to put pages where you want.
  • Modules and Built in Applications: A ton! Everything you want at MamboPortal
  • User Management: Good. Multiple Admins too.
  • E-commerce: Lots of addons that should help.
  • XHTML / Standards Compliant: Not completely. Some code outputted by script uses tables, but you can use XHTML to design your pages. Again, Mambo has a huge community, and I'm sure this will be fixed in the later version.
  • Auto-Generation of Bread Crumb Navigation: Yes.
  • Usable UI: Hard to find some things.
  • Easy Installation: Mine took a few hours. Had some troubles installing.
  • Documentation: Best part of Mambo. Huge community means lots of information. Mambers.


  • Documentation: Amazing
  • Community: Lots of modules and add ons


  • Content Structure: Hard to put pages where you want them. I found "Sections" and "Categories" limiting.
  • Flexibility: Hard to hack


The first thing I really liked about Mambo was the community. There were hundreds of free modules available to add anything from a search engine to a panel with up to date fishing conditions. This meant less hacking by me to add something I wanted. This CMS would be great for larger sites which want lots of extras (polls, message boards, etc).

Other Reviews

CMS Roundup: The search for the perfect Content Management System: The parent article for this review. If you haven't read it already, click the link.

Exponent CMS Review: Another review in this series.

Sitellite: Another review in this series.

Warning: require(/home/zimmer/ failed to open stream: No such file or directory in /home/zimmer/ on line 56

Fatal error: require(): Failed opening required '/home/zimmer/' (include_path='.:/usr/local/lib/php:/usr/local/php5/lib/pear') in /home/zimmer/ on line 56