¿Cómo obtengo el nombre del término de taxonomía del término de taxonomía actual page.tpl.php?

11

Estoy en d7. Estoy tratando de obtener el nombre del término de taxonomía de la página de taxonomía en la que estoy. Como no estoy en una página de "nodo", no puedo obtenerlo por $ node-> tid. ¿Qué tengo que hacer? Gracias.

oobie11
fuente

Respuestas:

23

Tratar..

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) debería devolver el tid de la página de taxonomía (taxonomy / term / tid).

Kevin
fuente
Gracias por la rápida respuesta. Probé su método, pero recibo este error Notice: Trying to get property of non-object in include() (line 79 of {my site}/templates/page.tpl.php)y no funciona. :(
oobie11
¿Qué print_r(arg())muestra?
mpdonadio
Matriz ([0] => taxonomía [1] => término [2] => 1920)
oobie11
lo descubrí, explicaré a continuación
oobie11
6

Lo descubrí, heres lo que hice:

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

Gracias @Kevin por tu ayuda.

oobie11
fuente
+1 para guardar taxonomy-term-id es una variable separada. Sigue el principio de KISS (al menos desde mi punto de vista).
Bhavik Shah
Funciona perfectamente, me tomó un tiempo encontrar la respuesta correcta, así que gracias.
JDavies
-4

En lugar de usar taxonomy_term_load () que no funciona bien cada vez, puede llamar a:

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
fuente