drupal - 如何在Drupal 7的任何页面中找到当前主题

标签 drupal drupal-7

正如标题所说,

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

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

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

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

简单地说,当我进入任何页面时,我应该知道该页面中使用的主题名称以及我可以在哪个 Hook 中编写我的条件。

基于此我想做一些改变。

我尝试使用全局变量 $theme、path_to_theme、drupal_get_path 等

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

我在 hook_preprocess_html 中为 $variables 编写了退出语句,并且仅当页面是普通用户页面时它才通过退出返回值。但不在管理页面中,例如站点名称/管理/内容等,

任何可以提供帮助的人。

提前致谢

最佳答案

创建一个自定义模块,并将代码放入 .modulefunction 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
}

关于drupal - 如何在Drupal 7的任何页面中找到当前主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42589433/

相关文章:

php - 谷歌图表更改日期格式

drupal - 无法让搜索框显示在自定义主题中

css - Drupal、CSS、表单提交按钮 - 样式在 ajax 之后丢失

javascript - 将 javascript 添加到 drupal 无法识别某些 jquery

php - 如何使用 Drupal `db_select()` 方法转换查询?

php - 如何在 Drupal 中将表单值推送到数据库

Drupal - 图像上的 alt 标签

drupal - 如何将 'unhide' 菜单链接到 Drupal 6 中未经授权的内容?

Drupal 没有 www.链接

php - drupal 可重用值