回答
調用drupal_add_css()的順序添加了CSS,這很大程度上取決於執行調用的模塊或主題的權重,存儲在系統表中。 Drupal.org's instructions on changing module weight也適用於主題。
確定drupal_add_css()順序的另一個因素就是在Drupal的代碼中調用包含函數的順序。例如,template_preprocess_page()總是在template_preprocess_node()之後調用,只是因爲節點進入頁面。
這聽起來不像是一個有效的解決方案。 – user198729 2010-05-28 13:38:17
如果你看看ninesixty主題的template.php主題文件,你會發現一個解決方案。
下面的函數從theme_preprocess_page鉤叫:
function ninesixty_css_reorder($css) {
global $theme_info, $base_theme_info;
// Dig into the framework .info data.
$framework = !empty($base_theme_info) ? $base_theme_info[0]->info : $theme_info->info;
// Pull framework styles from the themes .info file and place them above all stylesheets.
if (isset($framework['stylesheets'])) {
foreach ($framework['stylesheets'] as $media => $styles_from_960) {
// Setup framework group.
if (isset($css[$media])) {
$css[$media] = array_merge(array('framework' => array()), $css[$media]);
}
else {
$css[$media]['framework'] = array();
}
foreach ($styles_from_960 as $style_from_960) {
// Force framework styles to come first.
if (strpos($style_from_960, 'framework') !== FALSE) {
$framework_shift = $style_from_960;
$remove_styles = array($style_from_960);
// Handle styles that may be overridden from sub-themes.
foreach ($css[$media]['theme'] as $style_from_var => $preprocess) {
if ($style_from_960 != $style_from_var && basename($style_from_960) == basename($style_from_var)) {
$framework_shift = $style_from_var;
$remove_styles[] = $style_from_var;
break;
}
}
$css[$media]['framework'][$framework_shift] = TRUE;
foreach ($remove_styles as $remove_style) {
unset($css[$media]['theme'][$remove_style]);
}
}
}
}
}
return $css;
}
使用權重屬性:
drupal_add_css(drupal_get_path('theme', 'mytheme') . '/css/styles.css', array('weight' => 999));
注:CSS在你的主題的信息加到將始終是最後一個,所以使用相同的像以前一樣改變在主題的信息文件中聲明的樣式表的權重。
爲Drupal 6用途:
drupal_add_css('site.css', 'theme', '', array('weight' => 999))
(我知道這是舊的,只爲其他讀者)對於Drupal 7也。 – 2015-05-21 16:56:22
使用組屬性:
drupal_add_css(drupal_get_path('theme', 'mytheme') . '/css/styles.css', array('group' => CSS_THEME);
這爲我工作。在頁面上的最後一個css之後添加css
$module_path = drupal_get_path('module', 'my_module');
drupal_add_css($module_path . '/css/my_module.css', array('weight' => 99999, 'group'=>CSS_THEME));
- 1. 在文檔加載後,如何在基於id的表格行中添加css
- 2. 如何最後加載jquery
- 3. 如何添加到最初在PowerShell中加載的類型?
- 4. 如何在Drupal中添加選項卡?
- 5. 如何在Drupal中添加訂單?
- 6. 如何在drupal中添加菜單?
- 7. 如何在drupal中添加新規則
- 8. 如何在最後一篇文章中添加「最後」?
- 9. 如何添加頁面加載後消失的加載文本
- 10. 如何在最後加載$ scope。$?
- 11. 如何在GridView中添加最後一列如何在GridView中添加最後一列
- 12. 如何在頁面加載後在symfony2中添加選擇
- 13. iPhone:如何在tabelview已經加載後在tableview中添加行?
- 14. 如何添加一個CSS類到jsGrid的最後一行
- 15. 如何在android中加載添加?
- 16. 如何在jquery中添加加載?
- 17. 在圖像加載前添加css類
- 18. 如何顯示錶中最後添加的數據而不重新加載?
- 19. 在路徑URL後添加斜槓時未加載CSS文件
- 20. 在drupal中添加javascript
- 21. 在Drupal中添加內容
- 22. 加載引導CSS頁面加載後
- 23. jquery ajax加載後丟失css加載
- 24. 頁面加載後Javascript和Css加載
- 25. 在最後加載Spring bean
- 26. 如何添加類=「最後」到最後一行在環路
- 27. drupal 7 chrome不加載css規則
- 28. 如何添加在Drupal模塊
- 29. 如何在css中添加邊框後的空間
- 30. Drupal ColorBox加載
加載最後是什麼意思?最後一個CSS從一堆被加載?加載頁面底部的CSS?你是否在其他地方添加了其他的CSS文件? – acm 2010-05-28 11:24:58