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.

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).


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.


+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;
    }
}
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.