如何以编程方式设置我的管理主题?
现在我为匿名用户使用公共主题,为会员使用会员主题。我正在使用角色主题切换器来实现这一点。
现在我希望我的管理主题为 rubik。我试图从 /admin/settings/admin 更改它,但它没有效果。
有没有办法做到这一点?我想要我的网站前端的公共主题和后端的魔方主题。
管理主题存储在variable
表中;您可以像这样在代码中更新它:
variable_set('admin_theme', 'theme_name');
您还可以将主题分配给特定路径。
将管理主题应用于路径/SOMEPATH/*
function MYMODULE_custom_theme() {
if (arg(0) == 'SOMEPATH') {
return variable_get('admin_theme');
}
}
将管理主题应用于路径别名/SOMEPATH/*
function MYMODULE_custom_theme() {
//drupal_get_path_alias() may interfere with Global Redirect module
$arg = explode('/', substr(drupal_get_path_alias(request_uri(), 1), strlen(base_path())));
if ($arg[0] == 'SOMEPATH') {
return variable_get('admin_theme');
}
}
将自定义主题应用于/admin/*
function MYMODULE_custom_theme() {
if (arg(0) == 'admin') {
return 'MYADMINTHEME'; //list_themes() to see available themes
}
}
选择一个函数并将其插入到您的模块中,将 MYMODULE 替换为模块名称。