0
votes

I've built a custom component for joomla 2.5. Now i wanted to implement sef urls. So I started to create the router.php file. I was almost successfull. The only thing I want to change is removing the component name link. Here is what I have got:

http://host.tld/component/componentname/

If I create a menu item with an alias, the sef url looks like this:

http://host.tld/alias

This is the actual scheme I want to have, but it is only shown when I clicked the menuitem from the menu. If I am at the home site, this does not work.

1
You question is not very clear especially the "If I am at the home site, this does not work." Can you expand it to be a bit more precise? - Craig
Well, if I am at the home site, the URLs are built in Form of component/componentname/view/parameters. This is also happening with thE suburls. If I clicked the menu item the URLs are built in Form menuitemalias/view/parammeters. I want the URLs always To look like the ones get built when i click in the menuitem. - Marco Klein

1 Answers

1
votes

Solved the problem myself:

In the case that you have only one menu item for your component (else you have to pick the right one) you just have to add these lines to your code:

$app = JFactory::getApplication();
$menu = $app->getMenu();
$items = $menu->getItems('component', 'com_games');

if (!isset($query['Itemid']))   
    $query['Itemid'] =  $items->id; 

Now joomla takes the menu item alias for generating the sef urls.