在 drupal 中对某些页面进行主题化

发布于 2024-08-27 15:29:31 字数 150 浏览 6 评论 0原文

我需要在一定数量的页面“user/”上设置主题选项卡。如果我只是在 template.php 中使用 theme_menu_local_task ,它将在所有页面上使用该函数,而不仅仅是在“user/”上。 有没有办法只为“用户/”页面设置主题,而让其他页面保持独立?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秋叶绚丽 2024-09-03 15:29:31

这是一种方法:

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

请注意,您必须直接调用 return theme_menu_local_task() ,否则您的代码将陷入无限递归调用。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文