Controlla se la pagina corrente è termine di tassonomia


8

Come posso verificare se la pagina corrente è una pagina di termini di tassonomia, analogamente a quanto fatto con il seguente codice utilizzato per verificare se la pagina corrente è la prima pagina?

if (drupal_is_front_page()) {
  // The current page is the front page.
}
else {
  // It is not the front page.
} 

Risposte:


13

Solo per offrire una soluzione che non utilizza arg()(che si consiglia di evitare ove possibile secondo la pagina dei documenti )

Puoi usare la menu_get_object()funzione:

$term = menu_get_object('taxonomy_term', 2);
if ($term) {
  // User is on a taxonomy term page
}

1
Immagino che il codice sopra sia eseguito anche nelle pagine tassonomia / termine / id / modifica e feed !! Potremmo aver bisogno di verificare il terzo argomento?
Anil Sagar,

1
@AnilSagar Holy moly hai ragione: P Non sono davvero sicuro di quale sia il modo accettato per farlo, supponendo che non mi sia inventato un po 'di arg()essere meno leggibile
Clive

Che ne dici di schioccare un po ' && !path_is_admin(current_path())nella ifdichiarazione? Non l'ho ancora verificato, ma i percorsi di modifica dei termini sono pagine di amministrazione, no :)
Chapabu,

1
@Chapabu Dovresti marcare questo;)
Clive

2
Attenzione: l'abilitazione di Views sostituisce il termine caricatore di tassonomia, causando menu_get_object ('taxonomy_term', 2); non funzionare più. Vedi: drupal.org/node/1468006 e api.drupal.org/comment/45018#comment-45018
Manu

5
<?php

if (arg(0) ==  "taxonomy" && arg(1) == "term" && is_numeric(arg(2)) && arg(3) == "") {
  // Taxonomy term page
}

?>

5

<?php if (arg(0) == 'taxonomy' && arg(1) == 'term' && arg(2)): ?> dovrebbe fare il trucco.

Nel caso in cui le modifiche / i feed (e possibilmente alcune altre pagine correlate) siano escluse, è possibile utilizzare: <?php if (arg(0) == 'taxonomy' && arg(1) == 'term' && arg(2) && !arg(3)): ?>


Ciò tornerà anche vero per il taxonomy/term/123/editquale non sono sicuro che l'OP voglia.
Clive

1
Sì, non ha detto esattamente ciò a cui punta, ma ho aggiornato la mia risposta per rispondere a tale preoccupazione.
Madis,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.