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 to="www.cmsmadesimple.org"}

6 Responses to Page redirect with CMS Made Simple
  1. Eoin

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

  2. Joff

    Thanks for confirming that Eoin

  3. leo rapirap

    hi i tried creating a page and put this is a content
    {redirect_url urle=”http://www.google.com”}
    but it didn’t work.

    can you please shed a light on this one. :(

  4. leo rapirap

    after investigating for another couple of hours, i finally made it work.

    {redirect_url to=”http://www.google.com”}

  5. Joff

    Thanks Leo, I’ve now updated the post with your syntax!

  6. Erik

    Anyone know of a way to use this to save the page from which you’re redirecting, so you can go back to it after FEU login? I know this is posted without FEU in mind, but since FEU does not appear to have a way to bring the user to the page they originally wanted once they’ve logged in, I need to add that in. Any help appreciated! erik -at- bertpc dot com

Leave a Reply

Your email address will not be published. Please enter your name, email and a comment.

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>