2011-02-03 56 views
1

我試圖通過我的template.php中的預處理將css和js添加到視圖。使用視圖預處理將css和js添加到視圖

我已經創建了themename_preprocess_views_view_my_view_name($ vars),並添加到了我的drupal_add_js/css中,但它不工作。視圖加載正常,但添加的CSS和JS不輸出。我的drupal_add_js語法是正確的,因爲我已經在自定義模塊中的hook_nodeapi中測試了它。關於如何在視圖中使用該功能,文檔真的不清楚。

任何幫助將不勝感激。

回答

4

我和風格有過類似的事情。我會通過預處理函數中的drupal_add_css方法添加樣式表,但它們不會出現在頁面上。我所假設的是$ styles變量已經被填充。我通過將$ vars ['styles']設置爲drupal_get_css來解決問題。示例:

drupal_add_css(path_to_theme() . '/css/foo.css','theme','all'); 
$vars['styles'] = drupal_get_css(); 

您可以嘗試查看腳本是否發生了同樣的情況。例如:

drupal_add_js(path_to_theme() . '/js/foo.js'); 
$vars['scripts'] = drupal_get_js(); 
0

你確定你的預處理被拾取?命名有時候可能有點時髦。我建議使用devel模塊中的devel themer模塊,它允許您查看正在使用哪些主題函數和覆蓋。