是的,我仍然在Drupal 5上。不要開玩笑。如何在Drupal 5.x中主題聚合器類別?
我使用Aggregator模塊創建了一個類別,該類別的URL爲www.example.com/aggregator/categories/2
。我如何主題這個?它是一個可以以模板爲主題的節點,還是我需要使用其他一些過程?
編輯:爲了澄清,我想在標題下面添加一些文本,而不僅僅是個別聚合器項目的主題。對不起,我一開始就把它留下了。
是的,我仍然在Drupal 5上。不要開玩笑。如何在Drupal 5.x中主題聚合器類別?
我使用Aggregator模塊創建了一個類別,該類別的URL爲www.example.com/aggregator/categories/2
。我如何主題這個?它是一個可以以模板爲主題的節點,還是我需要使用其他一些過程?
編輯:爲了澄清,我想在標題下面添加一些文本,而不僅僅是個別聚合器項目的主題。對不起,我一開始就把它留下了。
看看在source(總是有幫助的):
hook_menu()
,Drupal的 「URL路由器」,we see即aggregator/categories/2
由aggregator_page_category()
處理。此功能獲取一些數據,然後調用_aggregator_page_list()
,這又調用aggregator_page_list()
。此功能在所選類別中的所有飼料項目(while ($item = db_fetch_object($result))
)和theme('aggregator_page_item', $item)
*瞧循環,這裏是你更換主題皮膚點(主題覆蓋),其可以用模板主題(或自定義主題功能)。
編輯:更換主題皮膚/修改報頭似乎很難與源標準的Drupal 5.再看看:_aggregator_page_list()
只是concats所有(主題)飼料項目,它們封裝在一個<div id="aggregator">
,並增加了尋呼機和飼料圖標 - 什麼鉤入這裏。 _aggregator_page_list()
有一個可選的第三個參數$header
,它可以完全按照你想要的 - 不幸的是,這個參數不用於aggregator/categories/2
。所以要在標題中添加一些文字,你必須破解aggregator.module
。
或升級到的Drupal 6,它增加一個主題倍率爲包裝:
foreach ($items as $item) {
$output .= theme('aggregator_item', $item);
}
$output = theme('aggregator_wrapper', $output);
編輯結束
對於如何主題的Drupal 5,見http://drupal.org/theme-guide/5,template.php: Overriding other theme functions,Proper theming of aggregator module,theme()
api doc等等等
祝你好運!
*並添加了一些類別處理,並將所有項目放入一個或另一個容器
Bah,我錯過了theme()函數調用。我知道我可以使用它來爲每個單獨的Feed項目設定主題,但我想在頁面頂部插入一些文本,位於頁眉正下方。有沒有辦法來覆蓋theme_aggregator_page_list函數來主題整個頁面的輸出? – jergason 2009-08-28 20:40:59
它應該是,但顯然它不是:theme_aggregator_page_list()似乎從來沒有使用過(在aggregator.module中沒有單個調用主題('aggregator_page_list'))。看到我的更新答案的替代品。 – 2009-08-29 14:57:00