ビューを使用せずに分類ページをアルファベット順に並べることはできますか?
例えば:
THE TERM'S NAME
- A node
- B node
- C node
- D node
ありがとう。
明確化:用語自体をアルファベット順にリセットできることはわかっていますが、分類用語ページのノードティーザーの表示方法はリセットされません(これらは作成された順序のままです)。ティーザーの表示をリセットすることは私が達成しようとしているものです。
分類モジュールは taxonomy_term_page 関数を使用して、用語に関連付けられたノードをリストするページを作成します。しかし、実際にクエリを実行する関数は、この前の関数によって呼び出される taxonomy_select_nodes です。
注意: コアをハックしない
したがって、カスタムモジュールを実装し、 hook_menu_alter を使用して、_page callback
_に基づく新しい関数を使用して_taxonomy/term/%taxonomy_term
_パスの_taxonomy_term_page
_を書き換え、カスタムを呼び出すことができますノードをそのように順序付けるために必要な変更を実行する_taxonomy_select_nodes
_関数。
次のようなことをする必要があります:
_function mymodule_menu_alter(&$items) {
// Rewrite the taxonmy term page callback
$items['taxonomy/term/%taxonomy_term']['page callback'] = 'mymodule_taxonomy_term_page';
}
_
その後、taxonomy_select_nodes()
呼び出しで必要な変更を加えることができるように、mymodule_taxonomy_term_page関数を実装する必要があります。
_function mymodule_taxonomy_term_page($term) {
# code...
if ($nids = mymodule_taxonomy_select_nodes($term->tid)) {
# code...
}
# code...
}
_
最後に:
_function mymodule_taxonomy_select_nodes() {
# code...
}
_
Taxonomy_indexテーブルにはノードのタイトルがないため、_mymodule_taxonomy_select_nodes
_関数でクエリを作成するには、ノードテーブルをJOIN
する必要があります。
すべての分類用語ページの動作が変更されることに注意してください。
カスタムモジュールの作成方法の詳細については、 http://drupal.org/node/361112 を参照してください。