2011-12-06 72 views
1

我有一個網站的常規和移動主題;目前在每個主題的template.php中有幾個重複函數,它們在相同的字段上進行一些文本消息傳遞。也就是說,這兩個主題中的這些字段的標記是相同的。Drupal 6:兩個主題中的重複主題功能

我該如何施加乾燥,只有邏輯在一個地方?

我明白我可以make the regular theme inherit的移動主題,但這似乎不是一個「適當」的解決方案,因爲主題是在一天結束時完全不同。更重要的是,這需要事後對預處理函數進行事後處理,並且重寫移動CSS和JS文件 - 看似會創造儘可能多的工作和將來的WTH。

謝謝!

回答

1

我很想看到正確的答案。

我所能想到的是製作一個模塊來保存重複的功能。一個庫模塊,如果你願意。

因此,我將這個「答案」作爲對話啓動者。

在:(移動)的template.php

preprocess_page(&$vars){ 
mymodulename_pagepreprocess($vars,'mobile'); 
} 

(桌面)的template.php

preprocess_page(&$vars){ 
mymodulename_pagepreprocess($vars,'desktop'); 
} 

您可以在模塊預處理,功能以及BTW。但是,將女巫模板作爲參數可能會很好(可以從全局$主題中提取)

+1

+1將通用功能移動到模塊。如果沒有其他主題需要提供,我還會在模塊中使用'真正'預處理函數的建議,從而不需要template.php文件中的indirectin。即使還有其他主題需要提供,模塊中的預處理功能也可以將「munged」值作爲單獨的變量添加,以便主題模板可以使用他們需要的版本。 –

+0

一個模塊在理論上是有道理的,但是通過創建和維護一個模塊的代碼開銷只是爲了控制兩個CCK字段的輸出,以便在兩個主題中使用幫助器功能似乎很荒謬 - 這就是我正在使用的這裏。 – yitznewton

1

如何製作一個基本主題來保存函數,並將它們作爲它的子主題來實現。

或者只是移動主題的一個子主題,而PC主題是基礎?

Creating a sub-theme

+0

嗯,抽象的父母主題。值得一看,我沒有想到這一點。但是我在這個問題上駁斥了一個直接的移動子主題的想法;我相信這與不想在移動設備中調用非移動預處理功能有關。 – yitznewton