Wie erhalte ich den Namen des Taxonomiebegriffs des aktuellen Taxonomiebegriffs page.tpl.php?


11

Ich bin auf d7. Ich versuche, den Taxonomiebegriffnamen der Taxonomieseite zu erhalten, auf der ich mich befinde. Da ich nicht auf einer "Knoten" -Seite bin, kann ich sie nicht über die $ node-> tid erhalten. Was soll ich machen? Vielen Dank.

Antworten:


23

Versuchen..

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) sollte die tid der Taxonomieseite (taxonomy / term / tid) zurückgeben.


Danke für die schnelle Antwort. Ich habe Ihre Methode ausprobiert, aber ich erhalte diesen Fehler Notice: Trying to get property of non-object in include() (line 79 of {my site}/templates/page.tpl.php)und er funktioniert nicht. :(
oobie11

Was print_r(arg())zeigt?
mpdonadio

Array ([0] => Taxonomie [1] => Term [2] => 1920)
oobie11


6

Ich habe es herausgefunden, hier ist was ich getan habe:

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

Vielen Dank an Kevin für Ihre Hilfe.


+1 zum Speichern der Taxonomie-Term-ID ist eine separate Variable. Es folgt dem KISS-Prinzip (zumindest aus meiner Sicht).
Bhavik Shah

Funktioniert perfekt, ich habe eine Weile gebraucht, um eine richtige Antwort zu finden, also danke.
JDavies

-4

Anstatt taxonomy_term_load () zu verwenden, das nicht jedes Mal gut funktioniert, können Sie Folgendes aufrufen:

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;
    }
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.