I need to theme tabs on a certain number of pages "user/*". If i simply use theme_menu_local_task in template.php, it will use the function on all pages, not only on "user/*". Is there a way to theme only "user/" pages and leave others alone?
A:
Here is an approach:
function mytheme_menu_local_task($link, $active = FALSE) {
// for paths you want to override the theme:
if ($_GET['q'] == 'certain/path') {
return '... my theme ...';
}
// for other _normal_ paths:
else {
return theme_menu_local_task($link, $active);
}
}
Note you have to call return theme_menu_local_task() directly or your code will trapped in an infinite recursive calls.
farzan
2010-04-06 09:44:12
WOrks great, stupid me didn't think to use IF in the function, not before the function.I've also modified it a bit, to use if(arg(0) == 'user') for example, so all paths that start with user/ will get it.
Djeux
2010-04-06 09:54:58