[gelöst] Anzahl von Nodes eines Taxonomy Terms nur für veröffentlichte Nodes anzeigen (php code)
Eingetragen von gulligull (5)
am 27.01.2010 - 14:52 Uhr in
am 27.01.2010 - 14:52 Uhr in
Hallo zusammen!
Ich habe hier einen php Code um eine Liste von Taxonomy Terms anzuzeigen. Außerdem wird neben den Terms, die Anzahl aller damit verbundenen Nodes ausgegeben.
Nur leider werden mir auch die nicht veröffentlichten Nodes mitgezählt, was unerwünscht ist.
Hier ist mein Code:
<?php
$vid = 3; // Set the vid to the vocabulary id of the vocabulary you wish to list the terms from
$parent = 11;
$terms = taxonomy_get_tree($vid, $parent, -1, 1);
foreach ( $terms as $term ) {
$count = db_result(db_query("SELECT COUNT(nid) FROM {term_node} WHERE tid = %d", $term->tid));
{
print '<div>' . l($term->name, "taxonomy/term/$term->tid") . " ($count)" . '</div>';
}
}
?>
Ich habe bereits versucht "AND status = 1" oder "AND n.status = 1" direkt nach "WHERE tid = %d" einzufügen, aber leider ohne Erfolg.
Ich wäre sehr dankbar für jegliche Hilfe mit meinem Problemchen.
Patrick
- Anmelden oder Registrieren um Kommentare zu schreiben
unpublished
am 27.01.2010 - 15:05 Uhr
Hallo.
Du musst dafür noch eine Verknüpfung zur node-Tabelle in Deinem SQL herstellen.
$count = db_result(db_query("SELECT COUNT(n.nid) FROM {node} n INNER JOIN {term_node} t ON n.nid = t.nid WHERE t.tid = %d AND n.status = %d", $term->tid, 1));
Ungetestet, sollte jedoch funktionieren.
hth,
Stefan
--
Sei nett zu Deinem Themer!
Spitze! Funktioniert bestens
am 27.01.2010 - 15:21 Uhr
Spitze!
Funktioniert bestens und hat mein Problem auf Anhieb gelöst.
Ich kann mich gar nicht genug bedanken!
Danke und cheers,
Patrick