回答
您可以覆蓋一個模塊中查看模板,請參閱Using default views in your module頁的「主題化的模塊中你的意見」視圖的高級幫助「。由於日曆是一個視圖插件,我認爲視圖模板的基本行爲適用。如果在hook_theme($existing, $type, $theme, $path)
中聲明自己的可輸出主題對於日曆視圖不起作用,則可能需要使用hook_theme_registry_alter(&$items)
。
THX我不認爲你可以在一個乾淨的方式做這樣的事情在一個模塊中,至少不會。
Drupal有功能(模塊)和演示文稿(主題)分開。將兩者分開是很有意義的。
- 更清潔更易維護的代碼。
- 功能需求在不同的網站中很常見。
- 演示和功能往往是由不同的人(開發商和主題製作)
這樣做,我不會感到驚訝,如果你能做這樣的事情一個模塊中。但是你會反對Drupal,很難做到這一點,沒有任何理由。
如果您想創建可重複使用的樣式,模板覆蓋等,請改用子主題系統。
看起來你在這裏要做的是重寫calendar
模塊的功能,以便在主題層有機會干擾它之前完全替換正常的日曆行爲。
在這些(希望很少見的)情況下,最好的辦法是創建自己的calendar
作爲新模塊,並以現有calendar
代碼作爲起點。直接修改模塊代碼比試圖破解Drupal的基本功能/顯示交互要容易得多。
我通常不會推薦這個,但它似乎適合您的情況。
務必將改善發回歷開發者,使我們都可以受益:)
也許我可以在日曆模塊中編寫一個鉤子,並檢查一個模塊是否執行鉤子,然後取消默認行爲。然後將其作爲補丁上傳? – Nealv 2010-09-22 18:41:01
甚至更好,我會說:)但是,你會想要實現鉤子有點不同於你所描述的,因爲鉤子通常並不意味着替換eachother或覆蓋正常行爲。而不是讓鉤子取消默認行爲,你應該有鉤子*替換*默認行爲,然後將原始行爲移動到模塊的一個實例中,調用它自己的鉤子。 – anschauung 2010-09-23 00:04:58
user_user是其他模塊如何使用鉤子實現可重寫的默認行爲的一個很好的例子。 – anschauung 2010-09-23 00:10:44
- 1. 覆蓋Drupal 7主題功能
- 2. Drupal主題功能沒有被覆蓋
- 3. drupal表單覆蓋主題功能
- 4. Drupal日曆彈出式主題
- 5. 覆蓋Python日曆HTMLCalendar CSS
- 6. 覆蓋重寫WPF主題
- 7. CEDET覆蓋顏色主題
- 8. 如何覆蓋jQuery主題
- 9. 覆蓋清單(主題)
- 10. Bootstrap CSS覆蓋主題嗎?
- 11. 需要覆蓋主題CSS
- 12. 覆蓋主幹歷史啓動方法
- 13. 使用template.php主題覆蓋Drupal 7中的文章輸出
- 14. 是否可以選擇*覆蓋Drupal 6中的主題?
- 15. 如何覆蓋Drupal中的非主題功能
- 16. Drupal 6如何覆蓋模塊中定義的主題功能?
- 17. 如何在Drupal 7x中覆蓋默認的主題頁面
- 18. SP2013日曆每日曆覆蓋兩種顏色
- 19. 覆蓋Drupal節點模板
- 20. 覆蓋Drupal 7評論表
- 21. 覆蓋drupal 7的theme_form
- 22. 本地覆蓋Drupal的settings.php?
- 23. 覆蓋Drupal javascript行爲
- 24. 如何刪除此WordPress主題上的覆蓋圖(日期)?
- 25. 覆蓋Wordpress的父主題功能
- 26. 覆蓋默認的Android主題
- 27. 在Wordpress中覆蓋父主題功能
- 28. CSS在Wordpress主題中被覆蓋
- 29. 臨時覆蓋ASP.NET中的主題CSS
- 30. 覆蓋父主題的功能WordPress的
是的,這是問題,日曆沒有掛鉤,所以我不得不重寫它的主題。我也想改變一些功能,但我無法擴展模塊,只要我可以看到 – Nealv 2010-09-20 18:51:25
在某些情況下,需要在現有模塊之上構建功能,並且需要將一些默認的表示元素添加到現有的模板。在這些情況下,模板是受歡迎的。例如,一個模塊可以提供一個自定義的「儀表板」頁面構建視圖,需要對默認視圖模板進行一些修改。 – 2010-09-21 18:57:07