2013-01-02 43 views
4

我想爲首頁做不同的佈局。在這個過程中,我宣佈了新的樣式表叫做「front-page.css」和page - front.tpl.php。我使用加載了responsive-sidebar.css的Zen子主題。我想刪除「responsive-sidebar.css」並加載「front-page.css」。 我之所以這麼做,是因爲後面樣式表中磨削列的數量與前者不同。在Drupal中有選擇地刪除樣式表頁

我不想使用Panels模塊。我使用的Drupal 7

回答

2

Drupal的7方式是使用hook_css_alter()

function MYMODULE_css_alter(&$css) { 
    // Remove defaults.css file. The path will probably change for your theme obviously. 
    unset($css[drupal_get_path('theme', 'MYTHEME') . '/css/responsive-sidebar.css']); 
} 

即鉤既可以一個模塊或一個主題中來實現。

2

裏面你的主題template.php文件和template_preprocess_page($vars)內,找到你要的內部$vars['stylesheets']刪除和使用PHP的unset函數從$vars['stylesheets']數組中刪除它的CSS文件。

希望這有助於...穆罕默德。

+0

這會工作在Drupal 6,但樣式表密鑰不存在於$瓦爾數組中的Drupal 7 D7已更改爲做到這一點! – rockvilla

0

我剛剛找到更好的方法來做到這一點。這是有點哈克,但允許未設置CSS在幾乎任何地方:

$css = &drupal_static('drupal_add_css', array()); 
unset($css['some_css_path']);