2010-04-06 81 views
2

我需要在“user/”的某些页面上设置主题选项卡。如果我只是在template.php中使用theme_menu_local_task,它将在所有页面上使用该函数,而不仅仅在“user/”上。 有没有办法让主题只有“用户/”页面,让别人孤单?在drupal中构建某些页面

回答

0

这里有一个办法:

 
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); 
    } 
} 

注意你要调用的返回theme_menu_local_task()直接或您的代码将被困在一个无限递归调用。

+0

伟大的,愚蠢的我没有想到在函数中使用IF,而不是在函数之前。 我也修改了一下,例如使用if(arg(0)=='user'),所以以user /开头的所有路径都会得到它。 – Djeux 2010-04-06 09:54:58