2010-06-16 181 views
1

我有一個關於如何自定義drupal模塊避免黑客的問題。Drupal:自定義模塊問題

比方說,我已經下載Lightbox2模塊,我想更改JavaScript文件以顯示不同的燈箱。

目前我正在修改Lightbox2模塊,因此我無法再更新它,所以我知道這不是最佳做法。

我想知道如果我可以自定義這個模塊的JavaScript文件的鉤子,以及如何。

謝謝

回答

4

要改變只是JS,你根本不需要破解模塊。相反,您可以使用主題系統來更改發送到頁面的腳本。

在你的template.php預處理頁:

$scripts = drupal_add_js(); 
unset($scripts['module']['whatever/the/path/is/lightbox.js']); 
$scripts['module']['new/js/path/lightbox.js'] = array('preprocess' => 1, 'cache' => 1); 
$variables['scripts'] = drupal_get_js('header', $scripts); 

我建議,那麼你在整個燈箱JS複製到新的路徑,讓你改變那裏,而不是從頭開始。

一些模塊提供了自己的鉤子和主題函數,您可以直接覆蓋它們,因此它可能也值得在這些模塊中插入一些。

+0

嗨,我試圖使用你的代碼,它完全用新路徑替換數組$腳本的內容。然而,仍然舊的js文件被加載(而不是新的)...謝謝 – aneuryzm 2010-06-25 07:05:02

+0

請確保您在themename_preprocess_page()中執行此操作,並且您將替換打印在您的page.tpl.php中的$ scripts變量。 – cam8001 2010-06-25 09:23:30