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

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


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.


+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;
    }
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.