Jak uzyskać nazwę terminu taksonomii bieżącego terminu taksonomii page.tpl.php?


11

Im na d7. Usiłuję uzyskać nazwę terminu taksonomii strony taksonomii, na której jestem. Ponieważ nie ma mnie na stronie „node”, nie mogę go pobrać za pomocą $ node-> tid. Co powinienem zrobić? Dzięki.

Odpowiedzi:


23

Próbować..

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) powinien zwrócić tid strony taksonomii (taksonomia / termin / tid).


Dziękuję za szybką odpowiedź. Wypróbowałem twoją metodę, ale otrzymuję ten błąd Notice: Trying to get property of non-object in include() (line 79 of {my site}/templates/page.tpl.php)i nie działa. :(
oobie11

Co print_r(arg())pokazuje
mpdonadio

Tablica ([0] => taksonomia [1] => termin [2] => 1920)
oobie11

wymyśliłem to, wyjaśnię poniżej
oobie11

6

Zrozumiałem, oto co zrobiłem:

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

Dziękuję @Kevin za pomoc.


+1 dla oszczędności taksonomii-termin-id jest osobną zmienną. Wynika to z zasady KISS (przynajmniej z mojego punktu widzenia).
Bhavik Shah

Działa idealnie, zajęło mi trochę czasu, aby znaleźć poprawną odpowiedź, więc dziękuję.
JDavies

-4

Zamiast używać taxonomy_term_load (), który nie działa dobrze za każdym razem, możesz wywoł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;
    }
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.