ฉันจะรับชื่อคำว่า taxonomy ของคำว่า taxonomy ปัจจุบัน page.tpl.php ได้อย่างไร


11

ฉันวันที่ d7 ฉันกำลังพยายามเรียกชื่ออนุกรมวิธานของหน้าอนุกรมวิธานที่ฉันใช้อยู่ เนื่องจากฉันไม่ได้อยู่ในหน้า "node" ฉันไม่สามารถรับได้โดย $ 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 (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

Array ([0] => อนุกรมวิธาน [1] => คำศัพท์ [2] => 1920)
oobie11

คิดออกไม่อธิบายด้านล่าง
oobie11

6

ฉันคิดออกว่านี่คือสิ่งที่ฉันทำ:

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

ขอบคุณ @Kevin สำหรับความช่วยเหลือของคุณ


+1 สำหรับการบันทึก taxonomy-term-id เป็นตัวแปรแยกกัน มันเป็นไปตามหลักการ 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.