我正在一個drupal 7網站上工作,對此我很陌生。我需要從網站的其他部分創建一個完全獨立的主頁。我注意到頭部是在所有腳本加載的html.tpl.php文件中構建的。我寧願不將腳本加載到只在首頁上使用的網站的其他部分。另外我發現drupal在我的腳本的末尾添加了一些代碼,使其無用。首頁單獨的js文件
/js/image_scale.js?lwhgie」
這到底是怎麼回事,怎麼辦得到這更好的控制? 感謝
我正在一個drupal 7網站上工作,對此我很陌生。我需要從網站的其他部分創建一個完全獨立的主頁。我注意到頭部是在所有腳本加載的html.tpl.php文件中構建的。我寧願不將腳本加載到只在首頁上使用的網站的其他部分。另外我發現drupal在我的腳本的末尾添加了一些代碼,使其無用。首頁單獨的js文件
/js/image_scale.js?lwhgie」
這到底是怎麼回事,怎麼辦得到這更好的控制? 感謝
只需添加幾點:
如果您想要聚合您的主頁JS(您可能會也可能不會),那麼您不應該將樣式表手動添加到模板文件。您可以在hook_preprocess_page()
添加它們,像這樣:
/**
* Implements hook_preprocess_page().
*/
function MYMODULE_preprocess_page(&$vars) {
if ($vars['is_front']) {
$path = drupal_get_path('module', 'MYMODULE');
drupal_add_js($path . '/MYMODULE1.js');
drupal_add_js($path . '/MYMODULE2.js');
$vars['scripts'] = drupal_get_js();
}
}
而且我發現,Drupal的添加一些代碼,以我的腳本使之無用結束。
/js/image_scale.js?lwhgie」
這不應該使你的腳本無用從drupal_get_js()
評論:
一個虛擬的查詢字符串添加到文件名,以獲得對瀏覽器緩存的控制權,該字符串在每次更新或全緩存更新時都會發生變化,因爲 URL已更改,因此強制瀏覽器加載文件的新副本。 get ti我()作爲查詢字符串,而不是強制重新加載每個 頁面請求。
你可以創建一個在你的主題文件夾,名爲page--front.tpl.php
新的模板和這將成爲您的主頁模板,現在您可以添加/刪除任何您想要的html標記。更多信息請看這裏:http://drupal.org/node/1089656。此外,您可以「告訴」drupal使用您的自定義模板文件hook_preprocess_page()
在template.php
文件在您的主題文件夾中。請參閱我之前發佈的鏈接上的評論
我正在使用頁面 - front.tpl.php模板文件,但我也使用面板。不知道這是否重要,但我無法使預處理功能正常工作。 – EZDC 2011-12-20 18:45:07
我會嘗試這個解決方案。什麼是MYMODULE和模塊...?我可以看到MYMODULE1.js是我想添加的js文件。這些變量之間有什麼區別。 – EZDC 2011-12-20 18:26:41
我可以用css文件做這個嗎? – EZDC 2011-12-20 18:37:06
我做了一些測試,並通過.info文件添加了jquery庫,發現我的腳本開始工作。這是爲什麼?我認爲jQuery可以用Drupal標準...? – EZDC 2011-12-20 18:43:13