正如标题所说,
我需要知道任何 drupal 页面中使用的主题的名称。
例如,我们基本上可以为我们的 drupal 站点设置默认主题和管理主题。现在我们只考虑这一部分,不要讨论用户特定的主题。
因此,在上述情况下,主页将使用 default_theme 加载,当您对任何管理页面执行此操作时,它们将在 admin_theme(seven/bartik) 中加载。
现在我的问题是我需要知道当我导航到网站的任何页面时正在加载什么主题。可能是节点/添加或节点/编辑或管理/*或页面/*或任何页面。
简单地说,当我进入任何页面时,我应该知道该页面中使用的主题名称以及我可以在哪个 Hook 中编写我的条件。
基于此我想做一些改变。
我尝试使用全局变量 $theme、path_to_theme、drupal_get_path 等
当我使用它们时,它们总是返回默认主题名称,而不是特定页面中使用的主题。
我在 hook_preprocess_html 中为 $variables 编写了退出语句,并且仅当页面是普通用户页面时它才通过退出返回值。但不在管理页面中,例如站点名称/管理/内容等,
任何可以提供帮助的人。
提前致谢
最佳答案
创建一个自定义模块,并将代码放入 .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
}
关于drupal - 如何在Drupal 7的任何页面中找到当前主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42589433/