Page redirect with CMS Made Simple

If you’re scratching your head on how to get an HTTP redirect with CMS Made Simple, then save your scalp and scratch no longer!

All you need to do is create a User Defined Tag (UDT) within your CMS MS admin (Extensions > User Defined Tags), call the tag “redirect” and paste the following code:

if( isset( $params['to'] ) )
  {
    global $gCms;
    $manager =& $gCms->GetHierarchyManager();
    $node =& $manager->sureGetNodeByAlias($params['to']);
    $content =& $node->GetContent();
    if (isset($content) && is_object($content))
       {
         if ($content->GetURL() != '')
         {
            redirect($content->GetURL());
         }
       }
    else return '<!-- redirect udt - page not found: '.$params['to'].' -->';
  }

To use, add {redirect to=”page_alias”} into one of your pages, or somewhere intelligently placed in your template.  If it’s going into a template then you should have an if statement around this, or you’ll get some nasty redirection loops!

Credit to calguy1000 for writing the function.

Further reading:

Update

I don’t know if they have always been there but I’ve since noticed the CMS Made Simple tags redirect_url and redirect_page

To use, insert into your page or template:

{redirect_page page='some-page-alias'}

or

{redirect_url urle='www.cmsmadesimple.org'}

2 Responses to “Page redirect with CMS Made Simple”

  1. Eoin 7 November 2008 at 10:20 am #

    Actually, I had to use double quotes to get the tag to work:
    {redirect to=”page_alias”}

  2. Joff 7 November 2008 at 4:20 pm #

    Thanks for confirming that Eoin


Leave a Reply