如何获取当前分类法术语page.tpl.php的分类法术语名称?


11

我在d7上。我正在尝试获取我所在的分类页面的分类术语名称。由于我不在“节点”页面上,因此无法通过$ node-> tid获得它。我该怎么办?谢谢。

Answers:


23

尝试..

http://api.drupal.org/api/drupal/modules--分类法--taxonomy.module / function / taxonomy_term_load / 7

$term = taxonomy_term_load(arg(2));
$title = $term->name;

arg(2)应该返回分类页面的tid(分类/术语/ tid)。


感谢您的快速答复。我尝试了您的方法,但出现此错误Notice: Trying to get property of non-object in include() (line 79 of {my site}/templates/page.tpl.php)并且无法正常工作。:(
oobie11'1

是什么print_r(arg())节目?
mpdonadio

数组([0] =>分类[1] =>术语[2] => 1920)
oobie11'1

弄清楚了,
病情

6

我弄清楚了,这是我所做的:

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

谢谢@Kevin的帮助。


+1用于保存分类标准项ID是单独的变量。它遵循KISS原则(至少在我看来)。
Bhavik Shah 2013年

效果很好,花了我一段时间才找到正确的答案,谢谢。
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;
    }
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.