2017-03-03 83 views
0

正如標題所說,如何在Drupal 7的任何頁面找到當前主題

我需要知道在任何drupal頁面中使用的主題的名稱。

例如,我們基本上可以爲我們的drupal網站設置默認主題和管理主題。現在我們只考慮這一部分,不涉及用戶特定的主題。

因此,在上述情況下,主頁將使用default_theme進行加載,當您對任何管理頁面執行操作時,它們將在admin_theme(seven/bartik)中加載。

現在我的問題是我需要知道當我導航到網站的任何頁面時正在加載什麼主題。它可能是一個節點/添加或節點/編輯或管理員/ *或頁面/ *或任何頁面。

簡單地說,當我去任何頁面時,我都會知道在該頁面中使用的主題名稱以及在哪個鉤子可以編寫我的條件。

基於此我想做一些改變。

我嘗試使用全局變量$主題,path_to_theme,drupal_get_path等

當我使用他們,他們總是返回默認的主題名稱,而不是被特定頁面使用的主題。

我在$ hook_preprocess_html中寫入$ variables的exit語句,並且只有在頁面是普通用戶頁面時才退出,它會返回值。但不是在像sitename /管理/內容等管理頁面,

任何人都可以提供幫助。

在此先感謝

回答

0

.module創建一個自定義模塊,並把你的代碼功能hook_init(){}

沒有參數。

function example_init() { 
    global $theme; 
    print $theme.'<br />'; // current theme name 

    print $GLOBALS['theme'].'<br />'; // current theme name 

    $theme_path = drupal_get_path('theme', $GLOBALS['theme']); 
    print $theme_path.'<br />'; // path to current theme 
} 
+0

感謝您的回覆。 請你簡單介紹一下。 hook_init沒有參數傳入該函數。 我可以打印哪些變量進行驗證?肯定有一些全局變量來獲取它們。你能告訴我一些嗎? –

+0

更新了上面的答案。 –