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.