getCategoryRoute
basically justs returns a URL in the following format
index.php?option=com_content&view=category&id=[ID PARAMETER]&lang=[LANGUAGE PAREMETER]
It's not a particularly complicated function - the entirity is as follows:
if ($catid instanceof JCategoryNode)
{
$id = $catid->id;
}
else
{
$id = (int) $catid;
}
if ($id < 1)
{
$link = '';
}
else
{
$link = 'index.php?option=com_content&view=category&id=' . $id;
if ($language && $language !== '*' && JLanguageMultilang::isEnabled())
{
$link .= '&lang=' . $language;
}
}
This has nothing really to do with JRoute, to which you can pass any paramaterised URL you want to run through a router to get a clean URL. getCategoryRoute
simply returns a parameterisd URL that works with com_content's category view.
It's not clear what you mean by "the same functionality", as com_content's featured view does not work in the same way as the category view. With that, categories are assigned as part of the menu item, and saved in the database as a menu item parameter, as opposed to being sent via URL parameters.
If you just want to create a link to the featured view using JRoute then the following should work:
JRoute::_("index.php?option=com_content&view=featured&lang=[language]");
If the featured item is a menu item, then the following would also work:
JRoute::_("index.php?Itemid=MENUID");