0

はい、私はまだ Drupal 5 を使用しています。からかわないでください。

Aggregator モジュールでカテゴリを作成しました。カテゴリの URL は ですwww.example.com/aggregator/categories/2。これをテーマにするにはどうすればよいですか?テンプレートでテーマを設定できるノードですか、それとも他に使用する必要があるプロセスはありますか?

編集:明確にするために、個々のアグリゲーター項目をテーマにするだけでなく、ヘッダーのすぐ下にテキストを追加したいと思います。すみません、最初は省略しました。

4

1 に答える 1

1

ソースを見てください(常に役に立ちます):

  • を見ると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 、template.php: Overriding other theme functionsProper themeing of aggregator moduletheme()api docなどを参照してください。

幸運を!

* いくつかのカテゴリ処理を追加し、すべてのアイテムをいずれかのコンテナにラップします

于 2009-08-28T20:00:03.010 に答える