2011-03-08 60 views
3

所以,我有我的父母的主題,我的分主題Drupal中同時啓用7在Drupal 7的,我創建了一個分主題,我怎麼這個主題分配給特定的頁面?_

我在指定基本主題是父主題的子主題的.info。

一旦我創建一個頁面,我該如何告訴該頁面繼承我的子主題?

任何幫助將不勝感激。

編輯: 所以我想要做的是創造了一些新的網頁(約20),要遵循相同的模板文件作爲我的Drupal網站的其餘部分。但是,它們都將具有不同的背景圖像,鏈接顏色和標題樣式。我想Drupal的子主題會讓我創建一個繼承主樣式表的頁面,但讓我根據新頁面的需要修改它。聽起來像這不是什麼子主題。

感謝馬特五: 子主題允許您使用現有的主題作爲創建自己的自定義主題的出發點。

回答

2

我可能是錯的,但如果要實現在不同的頁面不同的主題,這聽起來像你想找的是什麼「hook_custom_theme」,這是很簡單的,基本上你只需要添加:

function mymodule_custom_theme(){ 
    //Some custom logic here 
    $node=node_load(arg(1)); 
    if($node && $node->type=="my_custom_type"){ 
    return 'my_custom_theme'; 
    } 
} 

您返回值必須是一個字符串,它等於您要切換到的主題的機器可讀名稱...

重新閱讀您的文章,您可能需要查看template_preprocess_html和template_preprocess_page函數。裏面的這些功能,你可以設置和改變你的模板變量,即

$vars['styles']=drupal_get_css(); 

一旦你做到了,你可以輕鬆更換CSS標籤與邏輯的一點點,這個方法可以讓你只使用一個主題有多個CSS文件....

2

要激活子主題,您需要啓用它並將其設置爲默認值。

子主題(或任何主題)是整個網站。爲了主題的個人頁面,你可以創建一個模板的特定網頁,或者使用面板模塊 - 有很多方法對皮膚在Drupal貓.....

這裏是更多的一些信息Drupal 7 theme system changes

+0

嗯,好感謝。我想我沒有得到subthemes的目的。你爲什麼要創建一個將被整個網站繼承的子主題? http://drupal.org/node/225125 – bkrall 2011-03-08 20:23:42

+2

子主題允許您使用現有的主題作爲創建自己的自定義主題的起點。 – 2011-03-08 20:27:02

+2

他們還允許升級基礎主題,而不會丟失所有的自定義模板和CSS等。 – dzogchen 2011-03-08 20:33:03

1

要將您的主題激活到整個網站並用作所有頁面的默認設置,您需要進入管理/外觀並激活您的主題,然後單擊主題「Define as default」旁邊的鏈接。

要讓你的主題在一個特定的頁面上使用,這將有點棘手,只是澄清,如果這是你真正想要的。

+0

* Sub -inging允許您重新使用父主題的樣式,允許您覆蓋或添加css標記到子主題。我有時會這樣做,以避免黑客入侵主題,允許輕鬆的主題升級,並且所有修改都安全地隱藏在一個分主題中。 – stefgosselin 2011-03-08 20:27:25

+0

感謝您的回答。所以我想要做的是創建幾個新的頁面(約20個),這些頁面將遵循與我的Drupal站點其餘部分相同的模板文件。但是,它們都將具有不同的背景圖像,鏈接顏色和標題樣式。 我想Drupal的子主題可以讓我創建一個繼承主樣式表的頁面,但可以根據需要爲新頁面修改它。這聽起來像不是他們是爲... – bkrall 2011-03-08 20:29:18

+0

你需要看看模板佈告,有很多方法可以在Drupal中做到這一點,這裏是[視頻教程](http:// lin-clark。 com/blog/intro-drupal-7-theming-fields-and-nodes-templates)。 – stefgosselin 2011-03-08 21:14:24