Làm cách nào để có được tên thuật ngữ phân loại của thuật ngữ phân loại hiện tại page.tpl.php?


11

Tôi trên d7. Tôi đang cố gắng để có được tên thuật ngữ phân loại của trang phân loại mà tôi đang trên. Vì tôi không ở trên trang "nút", tôi không thể lấy nó bằng nút $-> tid. Tôi nên làm gì? Cảm ơn.

Câu trả lời:


23

Thử..

http://api.drupal.org/api/drupal/modules--taxonomy--taxonomy.module/feft/taxonomy_term_load/7

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

arg (2) nên trả lại tid của trang phân loại (phân loại / thuật ngữ / tid).


Cảm ơn đã trả lời nhanh chóng. Tôi đã thử phương pháp của bạn, nhưng tôi nhận được lỗi này Notice: Trying to get property of non-object in include() (line 79 of {my site}/templates/page.tpl.php)và nó không hoạt động. :(
oobie11

Không print_r(arg())thể hiện điều gì?
mpdon Arena

Mảng ([0] => phân loại [1] => hạn [2] => 1920)
oobie11

Tìm ra điều đó, Ill giải thích bên dưới
oobie11

6

Tôi đã tìm ra nó, đây là những gì tôi đã làm:

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

Cảm ơn bạn @Kevin vì sự giúp đỡ của bạn.


+1 để lưu id phân loại thuật ngữ-id là biến riêng biệt. Nó tuân theo nguyên tắc KISS (ít nhất theo quan điểm của tôi).
Bhasta Shah 30/12/13

Hoạt động hoàn hảo, tôi mất một chút thời gian để tìm một câu trả lời chính xác để cảm ơn bạn.
JDavies

-4

Thay vì sử dụng taxonomy_term_load () không hoạt động tốt mọi lúc, bạn có thể gọi:

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;
    }
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.