2010-09-18 126 views
0

我想主題日曆視圖,是否有一種方法來覆蓋與模塊而不是覆蓋模板文件的主題路徑?覆蓋drupal日曆主題

我想創建一個覆蓋主題功能的模塊,這樣我就可以將模板文件包含在我的模塊中而不是日曆模塊中。提前

回答

0

THX我不認爲你可以在一個乾淨的方式做這樣的事情在一個模塊中,至少不會。

Drupal有功能(模塊)和演示文稿(主題)分開。將兩者分開是很有意義的。

  • 更清潔更易維護的代碼。
  • 功能需求在不同的網站中很常見。
  • 演示和功能往往是由不同的人(開發商和主題製作)

這樣做,我不會感到驚訝,如果你能做這樣的事情一個模塊中。但是你會反對Drupal,很難做到這一點,沒有任何理由。

如果您想創建可重複使用的樣式,模板覆蓋等,請改用子主題系統。

+0

是的,這是問題,日曆沒有掛鉤,所以我不得不重寫它的主題。我也想改變一些功能,但我無法擴展模塊,只要我可以看到 – Nealv 2010-09-20 18:51:25

+0

在某些情況下,需要在現有模塊之上構建功能,並且需要將一些默認的表示元素添加到現有的模板。在這些情況下,模板是受歡迎的。例如,一個模塊可以提供一個自定義的「儀表板」頁面構建視圖,需要對默認視圖模板進行一些修改。 – 2010-09-21 18:57:07

0

看起來你在這裏要做的是重寫calendar模塊的功能,以便在主題層有機會干擾它之前完全替換正常的日曆行爲。

在這些(希望很少見的)情況下,最好的辦法是創建自己的calendar作爲新模塊,並以現有calendar代碼作爲起點。直接修改模塊代碼比試圖破解Drupal的基本功能/顯示交互要容易得多。

我通常不會推薦這個,但它似乎適合您的情況。

務必將改善發回歷開發者,使我們都可以受益:)

+0

也許我可以在日曆模塊中編寫一個鉤子,並檢查一個模塊是否執行鉤子,然後取消默認行爲。然後將其作爲補丁上傳? – Nealv 2010-09-22 18:41:01

+0

甚至更​​好,我會說:)但是,你會想要實現鉤子有點不同於你所描述的,因爲鉤子通常並不意味着替換eachother或覆蓋正常行爲。而不是讓鉤子取消默認行爲,你應該有鉤子*替換*默認行爲,然後將原始行爲移動到模塊的一個實例中,調用它自己的鉤子。 – anschauung 2010-09-23 00:04:58

+0

user_user是其他模塊如何使用鉤子實現可重寫的默認行爲的一個很好的例子。 – anschauung 2010-09-23 00:10:44