Drupal 5.x でアグリゲーター カテゴリのテーマを設定するにはどうすればよいですか?
-
20-09-2019 - |
質問
はい、まだ Drupal 5 を使用しています。からかわないでください。
Aggregator モジュールを使用してカテゴリを作成しました。カテゴリの URL は次のとおりです。 www.example.com/aggregator/categories/2
. 。これをテーマにするにはどうすればよいですか?それはテンプレートでテーマを設定できるノードですか、それとも使用する必要がある他のプロセスがありますか?
編集:明確にするために、個々のアグリゲーター項目のテーマだけでなく、ヘッダーのすぐ下にテキストを追加したいと思います。申し訳ありませんが、最初は省略していました。
解決
を見てください ソース (いつも役に立ちます):
- 見つめている
hook_menu()
, 、Drupalの「URLルーター」、 私たちは見る それ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()
すべての(テーマ別の)フィード項目を連結し、それらを でラップするだけです。 <div id="aggregator">
, 、そしてポケットベルとフィードアイコンを追加します - ここにフックするものは何もありません。 _aggregator_page_list()
オプションの 3 番目の引数があります $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 , テンプレート.php:他のテーマ関数をオーバーライドする, アグリゲータモジュールの適切なテーマ設定, theme()
APIドキュメント, 、など。等
幸運を!
* いくつかのカテゴリ処理を追加し、すべての項目をいずれかのコンテナにラップします