各ユーザーロールに別々のテーマを適用したい。私は管理者側からこれを行うオプションがあることを知っていますが、私はプログラムでこれをやりたいのです。
グローバル$ custom_themeを使ってオプションが見つかりました。私はテーマをプログラムで適用する
function mymodule_config_preprocess_page(&$variables) {
global $custom_theme;
$custom_theme = 'bluemarine';
init_theme();
}
として私のコードを変更しかし、これは任意の変更を必要と.Isそれがテーマに影響を与えていませんか?
function mymodule_init() {
global $custom_theme;
$custom_theme = 'bluemarine';
}
私の知る限りでは:
PLSのは、私はあなたがおそらくhook_init()
でこれをやりたいだろう、それは前処理変数のポイントでテーマを変更するには遅すぎると思う私に
でテーマ変更を実施するための最良のフックだ私は、テーマが適用されたcondtionを変えたが、UTは私に警告メッセージ "の警告提供します:call_user_func_array()[function.call-ユーザーfunc-を配列]:最初の引数が有効なコールバックであると予想され、「 –
」に「phptemplate_menu_local_tasks」が指定されています。このパス:/ admin/build/themesに移動します。下にスクロールして[設定を保存]をクリックすると、キャッシュがクリアされ、問題が修正されます。 – Clive
ごめんなさい。もう1つ問題があります。テーマはブロックページには影響しません。管理者/ビルド/ブロック –