Jump to content
xisto Community
Sign in to follow this  
googlue

All About Mambo! Mambo is a Content Management System...

Recommended Posts

Mambo is the best CMS. I have written about it in many other posts elsewhere. I am not going to write about it's pros and cons.

However, this tutorial will tell you how to install and maintain this smooth CMS.

 

Just in case you are wondering what is CMS, it is the acronym for Content Management System. To get a fel of how it looks and what can be done with Mambo, check out my site. There are many other beautiful websites that have ben created with Mambo and I will write about them later.

 

How to install:

 

You must have a host with PHP and MySQL facilities. If you are here at Xisto and hosted, you do qualify for this! Congratulations!! That is the first step.

 

You can install from Fantastico, but it does not always have the latest releases... Currently, Mambo version 4.5.2 is the latest, but Fantastico has version 4.5.1. If you need to install the latest version, you may wish to follow this tutorial.

Notice from jlhaslip:
*edit*

per report:

Please update to current info. Fantastico currently has 4.5.2.3 Patched-3 or something like that.

*end edit*

 

Go to http://forums.xisto.com/no_longer_exists/ or http://forums.xisto.com/no_longer_exists/

Mamboserver.com is the homepage of Mambo and all new announcements are made there. On the other hand, Mamboforge.net is the official storage site where the latest releases of the base Mambo, aditional components, modules and templates are hosted. When you go to the Mamboforge.net homepage, look at the box on the right side. It has the latest releases listed.

 

Now you are just one step away from actually installing, you are about to download the Mambo base. Click on the latest release (version 4.5.2 as of today) and download it to your PC. Now log on to your cpanel and create a new folder named mambo or something like that. Upload your Mambo base tar.gz file and extract the contents.

 

Now, before proceeding further, you have to go the PhpMyAdmin section of the cpanel of Xisto and create a new database and give all permissions to a user with a password.

 

Now, go the http://ww38.yoursite.com/mambofolder/

 

Now it is a cakewalk, just follow the instructions... you need to give the name of the database, username and password and then everything will be smooth.

 

Then go to the administration section and play around :o. Download and install more components, modules and mambots... You will just enjoy it.

 

If you need any help, you may either post here or go to http://www.mambers.com/ which is a forum of Mambo users where common problems are discussed and sorted out.

 

Good luck!

Edited to repair a link

Edited by jlhaslip (see edit history)

Share this post


Link to post
Share on other sites

Now that you have installed Mambo, you may need to backup your data in case there is some server problems.
There is a component just for this.
BigAPE sitebackup component for Mambo can be downloaded here.

Now, how do we install a component?
Open the administration panel: http://ww38.yoursite.com/mambofolder/administrator/
Log in and then go to components> install/uninstall

From there, you can browse to the file of BigAPE and then install it.
Then it is child's play to backup Mambo files and settings.

Good luck
Googlue

Share this post


Link to post
Share on other sites

When you make large content articles inside Mambo, you can paginate them, which means that you can divide them automatically into many pages with automatic generation of page numbers and links to those pages with a table of contents too!

You use a mambot called 'mospaging' for this purpose and this comes installed by default. YOu ust have to type {mospagebreak} wherever you want the page break to appear.

Under each page, you will have two links, one to the previous page and one to the next page. Many people have asked me how to turn these links into image links rather than text links. I have done this on my site http://forums.xisto.com/no_longer_exists/. You can check it there.

Here is the code to do that conversion.

You need to replace the contents of the file - 'mospaging.php' in the /mambots/content/ folder of the Mambo folder.

Here goes the code:

<?php/*** @version $Id: mospaging.php,v 1.6 2005/02/04 21:13:48 saka Exp $* @package Mambo* @copyright (C) 2000 - 2005 Miro International Pty Ltd* @license http://http://www.gnu.org/copyleft/gpl.html GNU/GPL* Mambo is Free Software*//** ensure this file is being included by a parent file */defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );$_MAMBOTS->registerFunction( 'onPrepareContent', 'botMosPaging' );/*** Page break mambot** <b>Usage:</b>* <code>{mospagebreak}</code>* <code>{mospagebreak title=The page title}</code>* or* <code>{mospagebreak heading=The first page}</code>* or* <code>{mospagebreak title=The page title&heading=The first page}</code>* or* <code>{mospagebreak heading=The first page&title=The page title}</code>**/function botMosPaging( $published, &$row, &$params, $page=0 ) {	global $mainframe, $Itemid, $database;  // expression to search for  $regex = '/{(mospagebreak)\s*(.*?)}/i';  if (!$published || $params->get( 'intro_only' )|| $params->get( 'popup' )) {  $row->text = preg_replace( $regex, '', $row->text );  return;	}	// find all instances of mambot and put in $matches	$matches = array();	preg_match_all( $regex, $row->text, $matches, PREG_SET_ORDER );	// split the text around the mambot	$text = preg_split( $regex, $row->text );	// count the number of pages	$n = count( $text );	// we have found at least one mambot, therefore at least 2 pages	if ($n > 1) {  // load mambot params info  $query = "SELECT id FROM #__mambots WHERE element = 'mospaging' AND folder = 'content'";  $database->setQuery( $query );  	$id  = $database->loadResult();  	$mambot = new mosMambot( $database );    $mambot->load( $id );  	$params =& new mosParameters( $mambot->params );  	$title	= $params->def( 'title', 1 );  	// adds heading or title to <site> Title  	if ( $title ) {  	$page_text = $page + 1;  	$row->page_title = _PN_PAGE .' '. $page_text;  	if ( !$page ) {    // processing for first page    parse_str( $matches[0][2], $args );    if ( @$args['heading'] ) {    	$row->page_title = $args['heading'];    } else {    	$row->page_title = '';    }  	} else if ( $matches[$page-1][2] ) {    parse_str( $matches[$page-1][2], $args );    if ( @$args['title'] ) {    	$row->page_title = $args['title'];    }  	}  	}  // reset the text, we already hold it in the $text array  $row->text = '';  $hasToc = $mainframe->getCfg( 'multipage_toc' );  if ( $hasToc ) {  	// display TOC  	createTOC( $row, $matches, $page );  } else {  	$row->toc = '';  }  // traditional mos page navigation  require_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/pageNavigation.php' );  $pageNav = new mosPageNav( $n, $page, 1 );  // page counter  $row->text .= '<div class="pagenavcounter">';  $row->text .= $pageNav->writeLeafsCounter();  $row->text .= '</div>';  // page text  $row->text .= $text[$page];  $row->text .= '<br />';  $row->text .= '<div class="pagenavbar">';  // adds navigation between pages to bottom of text  if ( $hasToc ) {  	createNavigation( $row, $page, $n );  }  // page links shown at bottom of page if TOC disabled  if (!$hasToc) {  	$row->text .= $pageNav->writePagesLinks( 'index.php?option=com_content&task=view&id='. $row->id .'&Itemid='. $Itemid );  }  $row->text .= '</div><br />';	}	return true;}function createTOC( &$row, &$matches, &$page ) {	global $Itemid;	$nonseflink = 'index.php?option=com_content&task=view&id='. $row->id .'&Itemid='. $Itemid;	$link = 'index.php?option=com_content&task=view&id='. $row->id .'&Itemid='. $Itemid;	$link = sefRelToAbs( $link );	$heading = $row->title;	// allows customization of first page title by checking for `heading` attribute in first bot	if ( @$matches[0][2] ) {  parse_str( $matches[0][2], $args );  if ( @$args['heading'] ) {  	$heading = $args['heading'];  }	}	// TOC Header	$row->toc = '	<table cellpadding="0" cellspacing="0" class="contenttoc" align="right">	<tr>  <th>'  . _TOC_JUMPTO .  '</th>	</tr>	';	// TOC First Page link	$row->toc .= '	<tr>  <td>  <a href="'. $link .'" class="toclink">'  . $heading .  '</a>  </td>	</tr>	';	$i = 2;	$args2 = array();	foreach ( $matches as $bot ) {  $link = $nonseflink .'&limit=1&limitstart='. ($i-1);  $link = sefRelToAbs( $link );  if ( @$bot[2] ) {  	parse_str( str_replace( '&', '&', $bot[2] ), $args2 );  	if ( @$args2['title'] ) {    $row->toc .= '    <tr>    	<td>    	<a href="'. $link .'" class="toclink">'    	. $args2['title'] .    	'</a>    	</td>    </tr>    ';  	} else {    $row->toc .= '    <tr>    	<td>    	<a href="'. $link .'" class="toclink">'    	. _PN_PAGE .' '. $i .    	'</a>    	</td>    </tr>    ';  	}  } else {  	$row->toc .= '  	<tr>    <td>    <a href="'. $link .'" class="toclink">'    . _PN_PAGE .' '. $i .    '</a>    </td>  	</tr>  	';  }  $i++;	}	$row->toc .= '</table>';}function createNavigation( &$row, $page, $n ) {	global $Itemid;	$link = 'index.php?option=com_content&task=view&id='. $row->id .'&Itemid='. $Itemid;	if ( $page < $n-1 ) {  $link_next = $link .'&limit=1&limitstart='. ( $page + 1 );  $link_next = sefRelToAbs( $link_next );  $next = '<a href="'. $link_next .'" title="Next Page">' . '<img src="images/next.gif" border="0">' .'</a>';	} else {  $next = '<img src="images/next_disabled.gif" border="0">';	}	if ( $page > 0 ) {  $link_prev = $link .'&limit=1&limitstart='. ( $page - 1 );  $link_prev = sefRelToAbs( $link_prev );  $prev = '<a href="'. $link_prev .'" title="Previous Page">'. '<img src="images/previous.gif" border="0">' .'</a>';	} else {  $prev = '<img src="images/previous_disabled.gif" border="0">';	}	$row->text .= '<table width=70% border="0" cellspacing="0" cellpadding="0" bgcolor="#ffffff"><tr height="50" valign="middle"><td width=40; align=right>' . $prev . '</td><td align="center">Page Navigation</td><td width=40; align=left>' . $next .'</td></tr></table>';}?>

You will also need 4 images as mentioned in the codes.
1. next.gif
2. previous.gif
3. next_disabled.gif
4. previous_disabled.gif

All these 4 images need to be placed in the /images folder of the root mambo folder.

If you make any changes to the file names or the image folder location, be sure that you have also edited the above file accordingly! -_-

I have made this change in code myself with whatever little php knowledge that I have.

So enjoy!
Googlue

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.