Comment (Form) Layout
am 20.05.2009 - 13:03 Uhr in
Hallo zusammen,
ich habe mir nun über eine Stunde n Ast auf drupal.org gesucht, konnte aber keine Antwort auf meine Frage finden. Im Grunde ists ganz "simpel" - Ich würde gerne das Eingabeformular der Kommentare rechtseitig der eigentlichen Kommentare anzeigen. Quasi linke Spalte die Kommentare, in der Rechten das Formular, so wie es Michelle z.B. im APK über Panels löst.
Leider habe ich bisher keinen Weg gefunden das zu bewerkstelligen. Auf Späße wie Panels würde ich gern verzichten, da die Profile auf Bio basieren und das wird dann alles zu komplex, zumal ich das Profil "gethemed" habe, und themen mit Panels nur ganz bedingt geht, bzw. eher Hölle ist. :)
Derzeit rufe ich in meiner Node des zu Grunde liegenden Contenttypes von Bio das Kommentarformular über
<?php
if (function_exists('comment_render') && $node->comment) {
print comment_render($node, $node->cid);
$node->comment = NULL;
}
?>
auf, und habe eine comment.tpl.php angelegt, da ich noch bury/promote nutze.
Kann ich das Ganze in einer der beiden Dateien entsprechend anpassen? Für mich wäre auch ein Modul-Hack okay, wenn es denn gar nicht anders geht.
Falls das schon mal jemand gemacht hat, oder einen entsprechenden Link für mich hätte wäre ich sehr dankbar. Ich sags zudem immer wieder gern dabei, ich bin kein PHPler. ;)
Danke schon mal im Voraus,
Genesis
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich gebe mir mal selbst die
am 21.05.2009 - 10:17 Uhr
Ich gebe mir mal selbst die Antwort, falls mal irgendwann jemand etwas Ähnliches machen will. Vorweg sei gesagt das es sicher sauberere und bessere Methoden gibt, allerdings ist dass das Einzige was ich nach langem Suchen zusammen getragen habe, und es funktioniert.
Um die Eingabeform getrennt von den Kommentaren darzustellen gibt es diese Möglichkeit:
Hiermit werden die Kommentare ausgegeben:
<?php
if (function_exists('comment_render') && $node->comment) {
print comment_render($node, $node->cid);
$node->comment = NULL;
}
?>
Das gibt die Form aus:
<?php
print drupal_get_form('comment_form', array('nid' => $nid), t('Post new comment'));
?>
Problem dabei ist das die Form 2 mal angezeigt wird, also muss eine ausgeblendet werden. Hier wirds dann "unsauber", da die eine Form im css-Element .box gerendert wird habe ich dieses einfach innerhalb der node auf display:none; gesetzt. Achtung: Nicht global definieren, da auch andere Formen in .box dargestellt werden.
Jetzt kann man z.B. die Eingabeform unabhängig der Kommentare auf der Seite darstellen.
Wie gesagt, es gibt vllt bessere Methoden, für mich reicht es aber. :)
Achso, das alles gilt für 5.x!
Grüße vom,
Genesis
Hier gibt es aber das
am 21.05.2009 - 12:58 Uhr
Hier gibt es aber das Problem dass die Form zweimal vorhanden ist :)
Für Drupal6 würde sich http://drupal.org/project/comment_display anbieten, funktioniert auch gut.. mit einem Patch
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.