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.

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


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.


+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;
    }
}
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.