Frage

Ich habe versucht, meine Drupal 6-Modul zu haben, die Art und Weise Taxonomieausdruck Seiten bestimmte Bedingungen gegeben sind anpassen angezeigt. Dies ist einfach über Themen zu erreichen, aber es scheint nicht eine einfache Möglichkeit, dies zu erreichen über ein Modul zu sein.

Nach einem guten Deal von Versuch, Irrtum und googeln, Ich habe dies mit der folgenden Art und Weise kommen zu bewerkstelligen:

Es scheint gut zu funktionieren, und fühlt viel weniger hacky als die alternativen Lösungen, die ich online gefunden. Aber, ich bin besorgt über die Tatsache, dass ich dieses Beispiel nicht überall auf der vielen Drupal-Forum Seiten gesehen habe - es läßt mich denken, dass es vielleicht etwas schrecklich falsch mit dieser Lösung, die ich noch nicht gesehen habe

Kann jeder SO'er sieht Probleme mit dieser Lösung, oder (besser) legt nahe, eine Methode, die auf Drupal bestehenden Thema Haken bauen könnte?

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);
    }
}
War es hilfreich?

Lösung

Wie wäre es hook_menu_alter() statt hook_menu() verwenden? Auf diese Weise können Sie den Menüpunkt ändern, dass Taxonomie in einer klaren Art und Weise schafft, ohne sich um Modul Gewichte zu kümmern und das Element wird zuletzt zugegeben.

Ansonsten, das ist, wie ich so etwas in einem Modul Kontext tun würde.

Andere Tipps

Hier finden Sie aktuelle content.module oder views.module zu sehen, wie es dort implementiert ist, wenn man sie installiert haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top