[gelöst] Dynamisches Kontaktformular innerhalb von Node
Eingetragen von idle (202)
am 21.06.2010 - 21:39 Uhr in
am 21.06.2010 - 21:39 Uhr in
Hallo DrupalCenter,
an einen bestimmten Inhaltstyp - sagen wir eine Art Profilseite (zum Beispiel eine Firmenpräsentation) - soll ein Kontaktformular angefügt werden, und dessen Adressat soll aus einem versteckten CCK-Feld ausgelesen werden.
Ist es möglich, das per node-nid.tpl.php umzusetzen bzw. node-type.tpl.php?
D.h. ich würde gern im Quellcode ein Formular erstellen, ohne groß auf Module zurückgreifen zu müssen. (Im Moment gibt Views ein Webform als Block aus, dass aber nach dem Absenden leider die Seite mit dem Form-Block verlässt, und die Form-Node lädt.)
- Anmelden oder Registrieren um Kommentare zu schreiben
Du könntest dir eine
am 21.06.2010 - 21:56 Uhr
Du könntest dir eine node-inhaltstyp.tpl.php anlegen und darin mittels der Form API von Drupal ein Formular ausgeben, gar kein Problem. In der submit-Funktion des Formulars kannst du dann eine Mail versenden (über die php-mail-Funktion oder mit drupal_mail).
Allerdings kann man in der Form-Funktion nicht einfach auf die $node-Variable zugreifen (soweit ich weiß, bitte korrigiert mich, wenn ich hier Mist erzähle). Das heißt, du musst die Node-ID ermitteln und damit dann den Node laden, um darauf zugreifen zu können.
Wenn der Node ganz normal angezeigt wird (also direkt per URL bzw. Alias aufgerufen wird), steht die Node-ID im 1. Argument der URL, also könnte man so die ID ermitteln und den Node laden:
<?php
$node_id = arg(1);
$my_node = node_load($node_id);
?>
Allerdings sollte man noch prüfen, ob der Wert in arg(1) numerisch ist usw.