Як отримати назву терміна таксономії поточного терміна таксономія page.tpl.php?


11

Я на d7. Я намагаюся отримати назву терміна таксономія сторінки таксономії, на якій я перебуваю. Оскільки я не перебуваю на сторінці "вузла", я не можу отримати його за $ node-> tid. Що я повинен зробити? Дякую.

Відповіді:


23

Спробуйте ..

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) повинен повернути частину сторінки систематики (таксономія / термін / tid).


Дякуємо за швидку відповідь. Я спробував ваш метод, але я отримую цю помилку, Notice: Trying to get property of non-object in include() (line 79 of {my site}/templates/page.tpl.php)і вона не працює. :(
oobie11

Що print_r(arg())показує?
mpdonadio

Масив ([0] => таксономія [1] => термін [2] => 1920)
oobie11

з'ясував це, поясню нижче
oobie11

6

Я зрозумів це, ось що я зробив:

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

Дякую @Kevin за допомогу.


+1 для збереження таксономії-term-id - це окрема змінна. Він дотримується принципу KISS (принаймні, з моєї точки зору).
Бхавік Шах

Працює чудово, зайняв трохи часу, щоб знайти правильну відповідь, тож дякую.
JDavies

-4

Замість використання taxonomy_term_load (), яка працює не кожен раз, ви можете зателефонувати:

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;
    }
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.