2017-03-03 86 views
0

正如标题所说,如何在Drupal 7的任何页面找到当前主题

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

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

因此,在上述情况下,主页将使用default_theme进行加载,当您对任何管理页面执行操作时,它们将在admin_theme(seven/bartik)中加载。

现在我的问题是我需要知道当我导航到网站的任何页面时正在加载什么主题。它可能是一个节点/添加或节点/编辑或管理员/ *或页面/ *或任何页面。

简单地说,当我去任何页面时,我都会知道在该页面中使用的主题名称以及在哪个钩子可以编写我的条件。

基于此我想做一些改变。

我尝试使用全局变量$主题,path_to_theme,drupal_get_path等

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

我在$ hook_preprocess_html中写入$ variables的exit语句,并且只有在页面是普通用户页面时才退出,它会返回值。但不是在像sitename /管理/内容等管理页面,

任何人都可以提供帮助。

在此先感谢

回答

0

.module创建一个自定义模块,并把你的代码功能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 
} 
+0

感谢您的回复。 请你简单介绍一下。 hook_init没有参数传入该函数。 我可以打印哪些变量进行验证?肯定有一些全局变量来获取它们。你能告诉我一些吗? –

+0

更新了上面的答案。 –