如何在Drupal 7

时间:2017-03-03 22:20:20

标签: drupal drupal-7

正如标题所说,

我需要知道任何drupal页面中使用的主题的名称。

例如,我们可以基本为drupal站点设置默认主题和管理主题。现在,我们只考虑这一部分,而不是进入用户特定的主题。

所以在上面的例子中,主页将使用default_theme加载,当你对任何管理页面进行加载时,它们将加载到admin_theme(7 / bartik)。

现在我的问题是当我导航到网站的任何页面时,我需要知道正在加载什么主题。可以是节点/添加或节点/编辑或admin / *或页面/ *或任何页面。

当我转到任何页面时,我都知道该页面中使用的主题名称以及我可以写出条件的挂钩。

基于此我想做一些改变。

我尝试使用globals $ theme,path_to_theme,drupal_get_path等

当我使用它们时,它们总是返回默认主题名称,而不是特定页面中使用的主题。

我在hook_preprocess_html中为$ variables编写了exit语句,只有当页面是普通用户页面时才退出返回值。但不是像sitename / admin / content等。,

这样的管理页面

任何可以提供帮助的人。

提前致谢

1 个答案:

答案 0 :(得分:1)

创建一个自定义模块,并将您的代码放在 .module 中的 function hook_init(){} 中。

没有参数。

function example_init() {
    global $theme; 
    print $theme.'<br />';  // current theme name 

    print $GLOBALS['theme'].'<br />';   // current theme name 

    $theme_path = drupal_get_path('theme', $GLOBALS['theme']); 
    print $theme_path.'<br />'; // path to current theme
}