Como obtenho o nome do termo de taxonomia do termo de taxonomia atual page.tpl.php?

11

Estou no d7. Estou tentando obter o nome do termo de taxonomia da página de taxonomia em que estou. Como não estou em uma página de "nó", não consigo obtê-lo pelo $ node-> tid. O que devo fazer? Obrigado.

oobie11
fonte

Respostas:

23

Experimentar..

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) deve retornar a descrição da página de taxonomia (taxonomy / term / tid).

Kevin
fonte
Obrigado pela resposta rápida. Eu tentei o seu método, mas estou recebendo esse erro Notice: Trying to get property of non-object in include() (line 79 of {my site}/templates/page.tpl.php)e não está funcionando. :(
oobie11
O que print_r(arg())mostra?
mpdonadio
Matriz ([0] => taxonomia [1] => termo [2] => 1920)
oobie11
percebi isso, Ill explicar abaixo
oobie11
6

Eu descobri, aqui está o que eu fiz:

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

Obrigado @Kevin pela sua ajuda.

oobie11
fonte
+1 para salvar a taxonomia-ID-do-termo é uma variável separada. Segue o princípio KISS (pelo menos do meu ponto de vista).
Bhavik Shah
Funciona perfeitamente, demorei um pouco para encontrar uma resposta correta, então obrigado.
JDavies
-4

Em vez de usar taxonomy_term_load (), que não funciona bem todas as vezes, você pode chamar:

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
fonte