管理テーマをプログラムで設定するにはどうすればよいですか?
現在、匿名ユーザーにはパブリック テーマを、メンバーにはメンバー テーマを使用しています。これを実現するために、ロールテーマスイッチャーを使用しています。
今、管理テーマをルービックにしたいです。/admin/settings/admin から変更しようとしましたが、効果がありません。
これを行う方法はありますか?サイトのフロント エンドにはパブリック テーマ、バックエンドには rubik テーマが必要です。
管理テーマは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 をモジュール名に置き換えます。