检索当前Drupal主题?

检索当前Drupal主题?,drupal,drupal-6,Drupal,Drupal 6,在模块的上下文中,如何确定为当前用户加载的主题 drupal_get_path path_to_theme 这两个都不好,因为它们似乎只在一个主题的template.php中工作。path\u to\u theme应该工作得很好,我在两个Drupal安装上测试了它,两个都工作了。如果主题尚未初始化,path\u to\u-theme将执行此操作,这是Drupal在内部用于设置不同的全局主题变量,如您要查找的变量$theme\u-path。如果允许用户自己选择主题,他们选择的主题保存在$user

在模块的上下文中,如何确定为当前用户加载的主题

drupal_get_path
path_to_theme

这两个都不好,因为它们似乎只在一个主题的template.php中工作。

path\u to\u theme
应该工作得很好,我在两个Drupal安装上测试了它,两个都工作了。如果主题尚未初始化,
path\u to\u-theme
将执行此操作,这是Drupal在内部用于设置不同的全局主题变量,如您要查找的变量
$theme\u-path

如果允许用户自己选择主题,他们选择的主题保存在
$user->theme
中,其中
$user
是用户对象。 如果模块设置了自定义主题,则全局变量
$custom\u theme
包含当前设置的主题的名称

以下代码段将当前活动主题的名称保存在
$current\u theme
中:

global $custom_theme, $theme, $user;

if (!empty($user->theme)) {
  $current_theme = $user->theme;
}
elseif (!empty($custom_theme)) {
  $current_theme = $custom_theme;
}
else {
  $current_theme = $theme ? $theme : variable_get('theme_default', 'garland');
}

嗯,当我试了几天的时候,它给了我模块路径ago@googletorp,否-它取决于调用
path\u to\u theme()
时的作用域。从文档:>当在主题化调用范围内调用时,它将取决于>处理主题化功能的位置。如果从模块实现,>它将指向该模块。如果从活动主题实现,它>将指向活动主题>源: