現在の分類用語のpage.tpl.phpの分類用語名を取得するにはどうすればよいですか?


11

Im on d7。私がいる分類法ページの分類用語名を取得しようとしています。Imは「ノード」ページ上にないので、$ 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(taxonomy / term / 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、ご協力ありがとうございます。


taxonomy-term-idを保存するための+1は別の変数です。それはKISSの原則に従います(少なくとも私の観点から)。
Bhavik Shah

完璧に動作し、正解を見つけるのに少し時間がかかりましたので、よろしくお願いします。
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;
    }
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.