2009-06-17 7 views
1

J'ai quelques formulaires dont les données doivent être écrites dans la base de données principale dans leurs propres tables. Juste des formulaires simples de collection de nom-email, qui font partie des pages régulières de drupal. Je soupçonne que la bonne façon de le faire serait d'écrire un module qui aurait la requête dans une fonction, mais ce n'est qu'une supposition. Je n'ai jamais écrit de module auparavant, et je ne sais pas comment le formulaire serait traité de cette façon.Où est le meilleur endroit pour mettre une requête DB dans drupal?

C'est aussi une supposition que d'exécuter la requête db dans un nœud serait non sécurisé? La seule autre idée que j'ai serait d'utiliser un fichier php sur le serveur pour faire le traitement de formulaire, avec la requête db écrite là, mais cela semble très non drupal, pour autant que je sache.

Comment faire?

Répondre

2

http://drupal.org/node/508 est l'information de Drupal sur le développement du module

Vous serez vouloir utiliser la fonction « db_query() »

Vous pouvez utiliser Drupal construit dans des méthodes pour construire des formes bien qui sauveront les données pour toi. Jetez un oeil sur le guide des développeurs de modules et vous devriez être capable de le comprendre. Le développement du module semble intimidant mais ce n'est pas aussi agité que cela semble une fois que vous savez réellement ce qui se passe avec Drupal (d'où, lisez le guide).

0

Avez-vous vérifié ce qui existe déjà? Webform peut être en mesure de résoudre vos besoins sans code personnalisé.

Aussi, je recommande fortement le livre Pro Drupal Development si vous voulez en savoir plus sur Drupal et le développement de module de base.

0

Je voudrais seconder le module Webform. Créez un formulaire Web très simple avec nom et adresse e-mail (les résultats peuvent être envoyés par e-mail ou stockés automatiquement dans la base de données, et peuvent être exportés facilement dans plusieurs formats). Ensuite, consultez le module Webform Block pour mettre ce formulaire Web dans un bloc et placez-le où vous en avez besoin sur votre site. Pas de codage personnalisé requis!

Voici un extrait de la page de projet Webform Bloc:

Permet à l'incorporation d'un noeud de webform dans un bloc qui peut être positionné dans une région de bloc (espace de thème le permet).

Les poignées redirigent vers la page en cours sur les erreurs de validation.

Un bon usage pour ceci est d'ajouter un formulaire de contact au site en ligne sur vos pages, comme dans le pied de page ou la barre latérale.

Plusieurs formulaires Web peuvent apparaître sur la même page. Le contenu du bloc est simplement un noeud, donc le travail de thème peut être fait dans le fichier node-webform.tpl.php comme d'habitude.

Questions connexes