2010-12-17 12 views
0

Ich möchte eine Seite erstellen, die einen einzigen Kommentar UND alle Antworten darauf enthält. Bis jetzt kein Glück: Ich kann comment_render auf dem Knoten und der gewünschten Kommentar-ID aufrufen (siehe auch How do I print a single comment in drupal?), aber das gibt mir nur den Kommentar, nicht die Antworten.Wie drucke ich einen einzelnen Kommentar-Thread in Drupal?

Wenn ich durch die Kommentartabelle blicke, denke ich, dass eine Lösung sich durch die Cid- und Pid-Felder, die den Thread implementieren, hacken muss, aber ich sehe nicht, wie das auf eine Weise durchgeführt werden kann pager_query, um die Möglichkeit einer großen Anzahl von Antworten zu behandeln. Irgendwelche Gedanken da draußen? Vielen Dank!

Antwort

0

Für zukünftige Besucher: Ich habe etwas Arbeit, die ich wirklich glaube nicht, zu schrecklich ist:

1: die Kommentare alle Ziehen Sie den gegebenen Knoten aus {Kommentare}.

2: Gehen Sie durch diese Kommentare, beginnend mit CID: durchqueren Sie den Baum der Antworten auf den ursprünglichen Kommentar und ein Array der Start-CID und alle entdeckten Antworten zusammen.

3: Erstellen Sie eine temporäre Tabelle, indem Sie aus {comments} nur diejenigen auswählen, deren NID diejenige des Startknotens ist und deren CID eine der gefundenen ist, wenn Sie den Baum durchlaufen.

4: Übergeben Sie diese temporäre Tabelle an eine gehackte Version von comment_render, die in der temporären Tabelle anstelle von {comments} ausgeführt wird.

5: Drucken Sie das Ergebnis.

6: Profit!

Oder so scheint es jedenfalls. Es bedeutet wahrscheinlich, dass comment_render verfolgt wird, sobald neue Versionen veröffentlicht werden, aber ich denke/hoffe, dass es mittlerweile ziemlich stabiler Code ist. Gedanken über die relative Weisheit sind natürlich willkommen.