Comment puis-je obtenir le nom du terme de taxonomie du terme de taxonomie actuel page.tpl.php?

11

Im sur d7. J'essaie d'obtenir le nom du terme de taxonomie de la page de taxonomie sur laquelle je suis. Comme je ne suis pas sur une page "node", je ne peux pas l'obtenir par $ node-> tid. Que devrais-je faire? Merci.

oobie11
la source

Réponses:

23

Essayer..

http://api.drupal.org/api/drupal/modules--taxonomy--taxonomy.module/function/taxonomy_term_load/7

$term = taxonomy_term_load(arg(2));
$title = $term->name;

arg (2) devrait renvoyer le tid de la page de taxonomie (taxonomy / term / tid).

Kevin
la source
Merci pour la réponse rapide. J'ai essayé votre méthode, mais je reçois cette erreur Notice: Trying to get property of non-object in include() (line 79 of {my site}/templates/page.tpl.php)et elle ne fonctionne pas. :(
oobie11
Que print_r(arg())montre-t-on?
mpdonadio
Tableau ([0] => taxonomie [1] => terme [2] => 1920)
oobie11
compris, je vais expliquer ci
oobie11
6

Je l'ai compris, voici ce que j'ai fait:

<?php
$termid = arg(2);
$term = taxonomy_term_load($termid);
$title = $term->name;
?>

Merci @Kevin pour votre aide.

oobie11
la source
+1 pour l'enregistrement de taxonomy-term-id est une variable distincte. Il suit le principe KISS (au moins de mon point de vue).
Bhavik Shah
Fonctionne parfaitement, m'a pris un peu de temps pour trouver une bonne réponse alors merci.
JDavies
-4

Au lieu d'utiliser taxonomy_term_load () qui ne fonctionne pas bien à chaque fois, vous pouvez appeler:

function get_tag_name($tid) {
    $query = db_select('taxonomy_term_data', 't');
    $query
            ->condition('t.tid', $tid, '=')
            ->fields('t', array('tid', 'name'));
    $result = $query->execute();

    foreach ($result as $row) {
        return $row->name;
    }
}
MilanG
la source