frage zu hook_comment
am 21.11.2008 - 11:14 Uhr in
ich will comments in der lightbox bei der acidfree-gallerie realisieren, ich hab da schonmal ein forenthema erstellt, nur da sich meine frage jetzt auf hooks bezieht, öffne ich hier nochmal ein neues.
und zwar sollen die kommentare von dem node (es ist ja jedes bild ein node) in der lightbox dargestellt werden. (wie hier) bzw. wenn in der lightbox komentare hinzugefügt werden, sollen die zum entsprechenden node hinzugefügt werden.
wie realisiere ich das? geht das mit dem hook_comment ?? was mir bei den hooks nicht ganz klar is, wie stelle ich dann den inhalt dort dar wo ich ihn haben will? (also unter dem entsprechenden div) den bei der lightbox, wird dafür standardmäßig ja keine tpl.php verwendet. (hab noch nie tiefer bei einem modul was verändert, sprich ich hab noch nicht mit hooks gearbeitet und mich bis jetzt nur informiert über sie).
oder geht das einfacher? (z.b. mir direktem zugriff auf die db?)
bin dankbar für eure antworten :)
- Anmelden oder Registrieren um Kommentare zu schreiben
Also hooks spielen nur bei
am 22.11.2008 - 00:09 Uhr
Also hooks spielen nur bei der Modul Programmierung eine Rolle. Willst du ein Modul programmieren zur Lösung eines Problems? Dann kommen hooks ins Spiel. Aber ich denke du möchtest etwas anderes. Aber was? Das habe ich leider nicht richtig verstanden.
vg
--
md - DrupalCenter
mdwp* :: Drupal Consulting
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
ok... also mein ziel ist es
am 22.11.2008 - 11:15 Uhr
ok... also mein ziel ist es kommentare in der lightbox von einem acidfree-album zu realisieren. deshalb hab ich auch den link beim ersten beitrag angegeben, den so wie es in der lightbox von den fotos auf der hp ausschaut, ungefähr so möchte ich es auch realisieren.
nun ist es ja so, dass jedes bild im prinzip ein eigener node ist. d.h. ich hab mir gedacht, dass ich in der lightbox einfach die kommentare zu dem entsprechenden node anzeige bzw. dann wenn jmd. einen kommentar schreibt, ihn auch zu diesen kommentaren hinzufüge.
nun bin ich an dem punkt angelangt, wo ich das design (das ja nicht das problem ist) so habe wie in dem link ist. nur da ich vorher noch nie in einem modul größere änderungen gemacht habe, weiß ich nicht wie ich das mit dem inhalt realisieren soll.
zur darstellung der kommentare vom aktuellen node, hab ich mir mal das hier zusammengebastelt: (ich habs einfach mal in die node.tpl.php eingefügt um zu testen obs rein vom code her geht) :
<?php
$comments = db_query("SELECT * FROM {comments} WHERE nid = %d ORDER BY timestamp", $node->nid);
while ($comment = db_fetch_object($comments)) {
print "<div class=\"author-pane\">".$comment->name."</div>";
print "<div class=\"lighbox-comments\" id=c-".$comment->cid.">" .$comment->comment. "</div>";
}
?>
Wobei das mit print ja nicht wirklich eine lösung ist, da man das ganze ja normalerweise in einer variabel speichert und das dann "return"en sollte...
1. frage:
das ist mein ansatz zum darstellen der kommentare, ich weiß jedoch nicht wenn ich das ganze in die "lightbox2.module" mit einer funktion einbaue... wie definieren ich, dass dieser inhalt in dem
<div id="innerCommentContainer"> *Comments* </ div>
wo ich es haben möchte dargestellt wird? (zur info: lightbox hat keine tpl.php")2. frage:
meine zweite frage ist jetzt wie ich das dann mit dem kommentare hinzufügen mache? das geht ja im prinzip nur mit hooks oder?
3. frage:
meine dritte frage ist nun, ob mein Ansatz zum darstellen der kommentare oben komplett umsonst ist und ich das nicht mit hooks einfacher machen kann, wobei ich mich hier wieder frage - wo ich das definiere, dass es unter meinem entsprechenden div dargestellt wird.
ich hab mich in das thema hooks schon informiert und eingelesen,... jedoch ist mir einiges noch nicht wirklich klar(s.o)
ich hoffe ich konnte mein problem jetzt hinreichend erklören - Roavei
ist meine frage noch immer
am 23.11.2008 - 15:35 Uhr
ist meine frage noch immer nicht verständlich? wenn, dann bitte sagen ^^
das Nodeobject einer Node die Kommentare hat
am 23.11.2008 - 15:54 Uhr
und zwar sollen die kommentare von dem node (es ist ja jedes bild ein node) in der lightbox dargestellt werden
Warum wuselst Du mit eigenen SQL Staements rum?
Sehe Dir doch mal das Nodeobject einer Node die Kommentare hat an.
Damit kannst Du wohl zumindest die Anzeige der Kommentare realisieren.
Etwas anderes ist es, in der Lightbox die Kommentare anzuzeigen UND in der Lightboxauch neue Kommentare erstellen zu koennen. Um in der Lightbox kommentieren zu koennen muesste dort das Kommentarformular einer Node verfuegbar sein.
Als Vorschlag 2 Moeglichkeiten
1.
Irgendwie die Nodes derart in die Lightbox zu bekommen das von einer Node nur die Kommentare und der Link "Add comment" angezeigt werden.
Lightbox kann einzelne Webseiten anzeigen. Dies koennte man als Ausgangspunkt nehmen.
2.
Nur die Kommentare der Nodes in die Lightbox bringen und ein separates Formular zum Abgeben eines Kommentares. In diesem Fall muss aber dieses Formular entsprechend verarbeitet werden damit ein abgegebener Kommentar der betreffenden Node hinzugefuegt/zugeordnet werden kann.
Das sieht dann sehr nach einem eigenen Modul aus.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
so... zuerst mal danke, dass
am 23.11.2008 - 17:23 Uhr
so... zuerst mal danke, dass du dir hier mit mir mal gedanken darüber machst, ob sich das ganze realisieren lässt.
wenn ich deine beiden vorschläge so durchlese, so ist der 1. vorschlag im prinzip das was ich schon die ganze zeit ansatzweise versuche zu implementieren. wie gesagt ist mir bei diesem ganzen thema nicht klar, wie ich definiere wo der inhalt angezeigt werden soll. Als Beispiel; wo ist definiert, das das Bild in der lighbox in dem div mit der id=imageContainer dargestellt wird?? Wenn ich das mal rausfinde, dann ist der 1. Teil die Darstellung der Kommenater ja schonmal geklärt.
Der 2. Teil - einen Kommentar zu schreiben, ist vermulich nicht so einfach. Ich würde es gerne so machen wie du es im vorschlag beschrieben hast. hier stellt sich mir die frage, wie ich funktinalität des kommentare hinzu-zufügens in der lightbox einbaue (mit hook oder nicht?) bzw. wie ich dann ein textfeld und einen button mit dieser funktionalität versehe und beides an der entsprechenden stelle in der lightbox darstelle.
in diesem themengebiet kenn ich mich halt leider nicht aus (wie ihr ja bemerkt habt)
mfg Roavei
Also: 1. oder 2.
am 23.11.2008 - 17:29 Uhr
Du hast meine 2 Vorschlaege nicht ganz verstanden. Bei Vorschlag 1 wuerde sich die Kommentarfunktion in der Lightbox befinden. Daher wuerde Vorschlag 2 bei dieser Vorgehensweise entfallen.
Also: 1. oder 2.
Nicht: 1. und 2.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
*g* sry - hab mich
am 23.11.2008 - 18:26 Uhr
*g* sry - hab mich anscheinend verwirrend ausgedrückt. ich hab deinen vorschlag schon verstanden.
als ich "2.teil" geschrieben habe, habe ich einfach meine ziele in 2. teile geteilt: bei teil 1 geht es um das anzeigen der kommentare und bei teil 2 um das hinzufügen von kommentaren.
weist du eine antwort auf die frage, wo ich definieren kann, dass die kommentare im entsprechenden "div" angezeigt werden??
Kann ich nicht weil die
am 23.11.2008 - 18:31 Uhr
Kann ich nicht weil die Frage zu allgemein und ich zu weit weg von Deiner Aufgabe bin.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
kk... verstehe, hat hier
am 25.11.2008 - 20:18 Uhr
kk... verstehe, hat hier jemand anderer einen Rat für mich?
edit: habs mal hier in das modul-entwickeln forum verschoben - vllt. bin ich da besser aufgehoben.
ok.. ich werde versuchem
am 26.11.2008 - 20:22 Uhr
ok.. ich werde versuchem meine frage mal zu kronkretisieren. zuerst mal möchte ich die anzeige der kommentare ermöglichen:
hierfür möchte ich zuerst mal den folgenden code in der lightbox.module hinzufügen:
<?php
$comments = db_query("SELECT * FROM {comments} WHERE nid = %d ORDER BY timestamp", $node->nid);
while ($comment = db_fetch_object($comments)) {
$output .= "<div class=\"author-pane\">".$comment->name."</div>";
$output .= "<div class=\"lighbox-comments\" id=c-".$comment->cid.">" .$comment->comment. "</div>";
}
return $output;
?>
außerdem hab ich herausgefunden, dass ich den inhalt in der lightbox.js mit folgendem code hinzufügen kann:
var comments = document.getElementById('innerCommentContainer');
comments.innerHTML = " >> KOMMENTARE << ";
tja, und jetzt weiß ich halt
1. nicht in welche funktion ich den php code oben packen muss, bzw.
2. wie kann ich dann den inhalt von der variable $output für die .js verfügbar machen bzw. abrufen, um ihn schlussendlich auszugeben??
anscheinend formulier ich
am 28.11.2008 - 16:30 Uhr
anscheinend formulier ich meine fragen so ungeschickt, dass keiner sich auskennt ^^
weil irgendwer wird mir doch hoffentlich bei diesen grundlegenden fragen helfen können??
tja.. anscheinend führe ich
am 29.11.2008 - 00:41 Uhr
tja.. anscheinend führe ich hier selbstgespräche ^^
aber ich habe soeben herausgefunden, dass ich mit
print drupal_to_js($var)
eine php variable dem js verfügbar machen kann. Die Frage ist nur, wie bau ich den obigen PHP code jetzt in die lightbox.module ein?? soll ich ihn einfach bei der funktion dazuhaun, wo das image vorbereitet wird? also bei "theme_lightbox2_image" ??