Mevcut taksonomi terimi page.tpl.php'nin sınıflandırma terimi adını nasıl edinebilirim?


11

Ben d7'deyim. Im olduğum taksonomi sayfasının taksonomi terim adını almaya çalışıyorum. Ben bir "düğüm" sayfasında değilim, $ düğüm-> tid tarafından alamadım. Ne yapmalıyım? Teşekkürler.

Yanıtlar:


23

Deneyin..

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), sınıflandırma sayfasının (sınıflandırma / terim / konum) tid değerini döndürmelidir.


Hızlı cevap için teşekkürler. Yöntemini denedim, ancak bu hatayı alıyorum Notice: Trying to get property of non-object in include() (line 79 of {my site}/templates/page.tpl.php)ve çalışmıyor. :(
oobie11

Ne print_r(arg())gösteriyor?
mpdonadio

Dizi ([0] => taksonomi [1] => terim [2] => 1920)
oobie11

anladım, aşağıda açıklayacağım
oobie11 27:12

6

Anladım, işte ne yaptığımı:

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

@Kevin yardımlarınız için teşekkür ederiz.


Sınıflandırma kimliğini kaydetmek için +1 ayrı bir değişkendir. KISS ilkesini izler (en azından benim bakış açımdan).
Bhavik Shah

Mükemmel çalışıyor, doğru cevabı bulmam biraz zaman aldı, bu yüzden teşekkür ederim.
JDavies

-4

Her seferinde iyi çalışmayan taxonomy_term_load () işlevini kullanmak yerine şunları arayabilirsiniz:

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;
    }
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.