Drupalの中のカスタマイズ分類タームページ:愚行のためにチェックしてください

StackOverflow https://stackoverflow.com/questions/1498536

  •  19-09-2019
  •  | 
  •  

質問

私は自分のDrupal 6モジュールは、タクソノミータームページは特定の条件与える表示方法をカスタマイズ持ってしようとしてきました。これは、テーマを経由して達成するのは簡単ですが、モジュールを介してこれを達成する簡単な方法があるように思えません。

裁判、エラーやグーグルの良い取引した後、私はこれを達成するための以下の方法を作ってみた:

うまく動作しているようだ、と<全角> のはるかに少ないハック私はオンラインで見つけるの代替ソリューションよりも感じています。しかし、私は多くのDrupalのフォーラムページ上の任意の場所にこの例を見ていないという事実で心配です - 。それは私が、私はまだ見ていない、このソリューションで恐ろしく間違って何かがあるかもしれないと思わせる

どのSO'erは、このソリューションで問題が発生、または(より良い)のDrupalの既存のテーマフックに構築できる方法を提案を見ることができますか?

function foo_menu() {
    // other menu callbacks ... 
    $items['taxonomy/term/%'] = array( 
        'title' => 'Taxonomy term',
        // override taxonomy_term_page
        'page callback' => 'foo_term_page',
        'page arguments' => array(2),
        'access arguments' => array('access content'),
        'type' => MENU_CALLBACK,
    );
    // other menu callbacks
}

function foo_term_page($str_tids = '', $depth = 0, $op = 'page') {
    if ($my_conditions_are_true) {
        // foo_theme_that_page is a copy-paste of taxonomy_term_page
        // that includes the customizations I want
        return foo_theme_that_page($str_tids,$depth,$op);
    } else { //Conditions aren't met. Display term normally
        module_load_include('inc', 'taxonomy', 'taxonomy.pages');
        return taxonomy_term_page($str_tids,$depth,$op);
    }
}
役に立ちましたか?

解決

どのようにhook_menu_alter()の代わりにhook_menu()を使用してはどうですか?分類は、モジュールの重みを心配することなく、明確な方法で作成したアイテムが最後に追加されることをそのようにメニュー項目を変更することができます。

そうでなければ、それは私がモジュールのコンテキストでそのようなことをするだろう方法です。

他のヒント

あなたがそれらをインストールした場合、それはそこに実装されている方法を確認するにはcontent.moduleまたはviews.moduleを見てください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top