12 September 2008 5 Comments

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"}

5 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

  3. leo rapirap 10 August 2010 at 4:20 am #

    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 10 August 2010 at 6:45 am #

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

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

  5. Joff 10 August 2010 at 9:24 am #

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


Leave a Reply