2009-06-17 3 views
1

Ich habe ein paar Formulare, deren Daten in ihren eigenen Tabellen in die Hauptdatenbank geschrieben werden müssen. Nur einfache Namens-E-Mail-Sammlungsformulare, die Teil von regulären Seiten in Drupal sind. Ich vermute, der richtige Weg, dies zu tun wäre, ein Modul zu schreiben, das die Abfrage in einer Funktion haben würde, aber das ist nur eine Vermutung. Ich habe noch nie zuvor ein Modul geschrieben und weiß nicht, wie das Formular auf diese Weise verarbeitet werden würde.Wo ist der beste Ort, um eine DB-Abfrage in Drupal zu platzieren?

Es ist auch eine Vermutung, dass die DB-Abfrage innerhalb eines Knotens unsicher wäre?

Die einzige andere Idee, die ich habe, wäre eine PHP-Datei auf dem Server zu verwenden, um die Formularverarbeitung mit der DB-Abfrage dort geschrieben, aber das scheint sehr nicht drupal, so weit ich sagen kann.

Wie ??

Antwort

2

http://drupal.org/node/508 ist Info Drupal Modul Entwicklung

Sie finden die Funktion verwenden, werden zu wollen „db_query()“

Sie Drupal in Methoden verwenden gebaut Formen zu bauen aber, dass die Daten speichern für Sie. Werfen Sie einen Blick auf die Modul-Entwickler-Anleitung, und Sie sollten in der Lage sein, es herauszufinden. Die Entwicklung von Modulen klingt einschüchternd, aber es ist nicht so hektisch, wie es scheint, wenn man erst einmal weiß, was mit Drupal vor sich geht (daher lies den Leitfaden).

0

Haben Sie überprüft, was schon da draußen ist? Webform kann in der Lage sein, Ihre Bedürfnisse ohne benutzerdefinierten Code zu lösen.

Ich empfehle auch das Buch Pro Drupal Entwicklung, wenn Sie mehr über Drupal und grundlegende Modulentwicklung erfahren möchten.

0

Ich würde das Webform-Modul zweiteilen. Erstellen Sie ein wirklich einfaches Webformular mit Namen und E-Mail (die Ergebnisse können per E-Mail oder automatisch in der Datenbank gespeichert und problemlos in verschiedenen Formaten exportiert werden). Dann schau dir das Webform Block Modul an, um dieses Webformular in einen Block zu stellen und wo immer du es auf deiner Seite hast. Keine benutzerdefinierte Codierung erforderlich! Hier

ist ein Auszug aus der Webform Block-Projekt Seite:

ermöglicht einen Webform Knoten in einen Block Einbettung, die in jedem Blockbereich positioniert werden kann (Thema Platz vorhanden).

Handles, die bei Validierungsfehlern auf die aktuelle Seite umleiten.

Eine gute Verwendung dafür ist, ein Site Wide Kontaktformular inline auf Ihren Seiten hinzuzufügen, wie in der Fußzeile oder Seitenleiste.

Mehrere Webforms können auf derselben Seite angezeigt werden. Der Inhalt des Blocks ist einfach ein Knoten, so dass die Themenarbeit wie gewohnt in der Datei node-webform.tpl.php erfolgen kann.