如何在我的组件中支持SEF URL

时间:2012-02-09 10:03:22

标签: php joomla joomla-extensions joomla-sef-urls sef

我是joomla组件的新手,请帮助我。

我根据用户要求创建一个小型joomla组件。它的运行完美。现在我在这个组件中有一个问题我试图在这个组件中提供sef支持,但我不知道该怎么做。

我读了这个链接 - http://docs.joomla.org/Supporting_SEF_URLs_in_your_component#Routing_URL.27s

我在我的组件中创建了一个路由器文件。 在router.php文件中。

<?php
function joomBuildRoute( &$query )
{
       $segments = array();
       if(isset($query['view']))
       {
                $segments[] = $query['view'];
                unset( $query['view'] );
       }
       if(isset($query['id']))
       {
                $segments[] = $query['id'];
                unset( $query['id'] );
       };
       if(isset($query['layout']))
       {
                $segments[] = $query['layout'];
                unset( $query['layout'] );
       };

       return $segments;
}

function joomParseRoute($segments)
{
       $vars = array();
      $app =& JFactory::getApplication();
       $menu =& $app->getMenu();
       $item =& $menu->getActive();
       // Count segments
       $count = count( $segments );
       //Handle View and Identifier
       switch( $item->query['view'] )
       {

             case 'message':
                   $id   = explode( ':', $segments[$count-1] );
                   $vars['id']   = (int) $id[0];
                   $vars['view'] = 'message';
                   break;
       }
       return $vars;
}
?>

1 个答案:

答案 0 :(得分:0)

感谢,

未完成。

这里有一些其他问题。

页面网址重写,但不重定向。

当我点击消息按钮时,假设这里是url JOOMLA / joom / index.php的/组件/ joom /消息/默认

表示重写但不显示消息页面。

感谢。