Frage

Was ich will, ist ziemlich einfach. Ich habe einen Pfad registriert

function spotlight_menu() {
    $items = array();

    $items['congres'] = array(
        'title' => 'Congres',
        'title arguments' => array(2),
        'page callback' => 'taxonomy_term_page',
        'access callback' => TRUE,
        'type' => MENU_NORMAL_ITEM,
    );

    return $items;
}

Wenn dieser Menüelement ausgelöst wird, möchte ich (ohne die URL) auf eine Taxonomie -Seite umzuleiten, von der der Begriff in einer Funktion ausgewählt wird, die ausgeführt wird, wenn diese Funktion aufgerufen wird.

Wie kann ich das tun (besonders ohne die URL zu ändern)?

War es hilfreich?

Lösung

Sie können nicht anrufen taxonomy_term_page direkt wie dein page callback Da Sie eine Lastfunktion bereitstellen müssen, um den Begriff zu laden, der mit dem Setup, das Sie haben, zu schwierig sein wird.

Definieren Sie stattdessen Ihren eigenen Seitenaufruf als Vermittler und senden Sie einfach die Ausgabe von taxonomy_term_page direkt:

function spotlight_menu() {
  $items = array();

  $items['congres'] = array(
    'title' => 'Congres',
    'page callback' => 'spotlight_taxonomy_term_page',
    'access callback' => TRUE,
    'type' => MENU_NORMAL_ITEM,
  );

  return $items;
}

function spotlight_taxonomy_term_page() {
  // Get your term ID in whatever way you need
  $term_id = my_function_to_get_term_id();

  // Load the term
  $term = taxonomy_term_load($term_id);

  // Make sure taxonomy_term_page() is available
  module_load_include('inc', 'taxonomy', 'taxonomy.pages');

  // Return the page output normally provided at taxonomy/term/ID
  return taxonomy_term_page($term);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top