アクティブなDrupal 7テーマをプログラムで変更する正しい方法は何ですか?私はDrupalの6で$custom_theme
を使用しますが、アクティブなDrupal 7テーマをプログラムで変更する
答えて
あなたがhook_custom_theme()
使用することができますDrupalの7で動作していない:
function mymodule_custom_theme() {
if ($some_condition_is_true) {
return 'my_theme';
}
}
をあなたがして行くための最善の方法をオーバーライドすることで、パス上のあなたの選択をベースにする必要がある場合特定のメニュールータ項目のtheme callback
。 See here for an example。
テーマを変更するときの条件は何かわかりませんが、URL、ノードタイプ、分類用語、ビューページなどに基づいてテーマを変更する場合は、Contextあなたのためにこれを行うモジュールで、1行のコードを書く必要はありません。これをチェックアウト:http://drupal.org/project/context
これは非常に便利なモジュールであり、パネルのようなほとんどすべての有名なモジュール、オメガテーマ、デルタとの素敵な統合を持っているなど
Drupalの変数theme_default
を使用すると、テーマを切り替えるように設定する必要が1でありますvariable_set機能を使用します。
variable_set('theme_default', 'your_theme_name');
あなたは既にインストールカスタムモジュールを持っている場合は、hook_update_Nを通じて、デフォルトのテーマを変更することができます。また、あなたのモジュールを他の人と共有したい場合や、インストール時にアクティブテーマを変更したい場合は、インストール時にコードをhook_installに呼び出すようにしてください。
/**
* Implements hook_update_N().
*/
function mymodule_update_7000() {
$theme_list = array(
'bootstrap',
'mytheme',
'shiny',
);
theme_enable($theme_list);
$theme_default = 'mytheme';
// The below code would change the default active theme to 'mytheme'
variable_set('theme_default', $theme_default);
$admin_theme = 'shiny';
variable_set('admin_theme', $admin_theme);
}
variable_set()
がhook_install()
またはhook_update_N()
のために動作しますが、あなたはモジュール内でそれを使用するべきではありません。 variable_set()
を呼び出すとcache_bootstrapテーブルが空になり、ビジー状態のサイトでは重大なパフォーマンスが低下します。
ThemeKey moduleは、Contextをフルに使用する必要がない場合にお勧めします。しかし、文脈はバージョン管理のために容易にエクスポート可能ですが、私が知る限りThemeKey規則をエクスポートする方法はありません。
- 1. ビューのテーマ、drupal 7
- 2. Drupal 7で変更したテーマについて
- 3. Drupal 7ページコンテンツのテーマ変数へのアクセス
- 4. トラブルは7 bartik drupalの背景アクティブなメニューを変更するには
- 5. drupal 7プログラムでユーザーをログインする
- 6. プログラムのテーマを変更するには
- 7. 変更ツールバーのテーマは、プログラム
- 8. Drupal 7変更書式で送信
- 9. Drupalの7テーマ「忙しい」カスタマイズ
- 10. drupalでacquia marinaテーマの名前を変更するには?
- 11. drupal 7で新しいテーマを作成する方法
- 12. Drupal 7で登録フォームをテーマにする方法は?
- 13. Drupal 7 - 画像をプログラムでアップロード
- 14. Drupal 7、プログラムでfield_imageをエンティティに追加
- 15. drupalでテンプレートを変換する7
- 16. Drupal 7 - テーマ/テンプレートファイルのビューアンカーに属性を追加する
- 17. WOfficeテーマでアクティブなユーザーデータベーステーブルを取得する方法WordPressテーマ
- 18. Windows Phone 8.1のテーマの変更をプログラムでチェックするタイミング
- 19. Windows 10のテーマをプログラムで変更する
- 20. Drupalテーマ
- 21. マテリアルUIタブ - アクティブ - アクティブなアクティブなonclickを変更する
- 22. drupalでカスタムフィールドをプログラムでレンダリングする方法7 page.tpl.php?
- 23. Drupal 7で多言語メニューリンクをプログラムで作成する方法
- 24. drupalテーマをプログラムで割り当てます
- 25. Drupal 8 - イメージのサイズをプログラムで変更する方法
- 26. 作成時にプログラムでDrupalユーザー名を変更する
- 27. Drupal 7のブロック構成フォームを変更する方法は?
- 28. Drupal 7のSolr Server URLを外部シェルスクリプトから変更する
- 29. フライでアクティブなサウンドカードを変更する
- 30. doctrineでアクティブなデータベースを変更する