2011-08-17 5 views
0

Quel serait le meilleur moyen de construire un formulaire de contact dans Drupal 6 pour chaque nœud d'un type particulier? J'ai quelques noeuds CCK de type "profile" qui ont une adresse email comme champ. Je veux avoir une vue pour chaque noeud avec un formulaire de contact que les utilisateurs peuvent remplir et envoyer avec leur propre adresse e-mail comme adresse de retour (afin que d'autres contacts soient effectués hors site). Fondamentalement, je veux juste que le contact initial par e-mail soit effectué via mon site, et lorsque le destinataire répond, il va simplement à l'adresse que l'expéditeur a entré quand ils ont rempli le formulaire de contact.Formulaire de contact personnalisé sur un nœud Drupal CCK

Vous vous demandez peut-être pourquoi je n'utilise pas le formulaire de contact personnel qui vient d'être cuit dans Drupal. Le problème est que la façon dont mon institution déploie ses instances Drupal pour utiliser les connexions Kerberos locales, les comptes d'utilisateurs qu'elle crée dans Drupal n'ont pas d'adresses e-mail. Ils obtiennent juste un compte squelette de base avec le nom d'utilisateur. Je ne veux pas vraiment obliger les utilisateurs à passer par un autre hoop de modifier leurs informations de compte d'utilisateur, car ils ne le feront probablement pas.

Répondre

0

Il n'y a rien à faire particulièrement avec le noeud lui-même, tout ce dont vous avez besoin pour cela est un formulaire avec des champs (de, à, objet, message) et un gestionnaire de soumission personnalisé pour ce formulaire. vous pouvez implémenter tout cela dans un module personnalisé en utilisant forms API pour créer un formulaire et écrire une soumission personnalisée pour cela. Et dans ce soumettre, vous devez envoyer un courriel via drupal_mail() - jetez un oeil à cela, il fournit des exemples aussi bien. That sujet peut vous aider avec les formes.

Ensuite, si vous devez placer ce formulaire dans un nœud, vous pouvez effectuer les opérations suivantes: via hook_nodeapi, sur le fonctionnement « vue », ajoutez formulaire que vous avez créé avant, vous pouvez vérifier NODE_TYPE particulier et l'utilisation existante valeurs de champ (vous avez mentionné le champ cck avec email) pour pré-remplir le formulaire. Pour qu'à chaque fois que l'utilisateur voit un nœud, il voit cette forme.

comme suite logique de votre tâche, je suggère qu'il est logique de jeter un oeil à menu system et créer une tâche locale (onglet) pour le nœud, où vous allez afficher le formulaire e-mail.

En général, c'est tout. Il y a bien sûr d'autres façons de le mettre en œuvre, mais je pense que celui-ci est le plus facile à comprendre.

Cordialement, Slava

+0

Merci Slava. J'espérais pouvoir le faire sans écrire de plugin personnalisé, car je suis très nouveau avec Drupal, mais je pense que vous avez raison de penser que cela va probablement être la voie à suivre. J'ai commencé à rechercher le processus de création de modules et une grande partie de ce que vous expliquez ici commence à avoir plus de sens. Merci. – John

Questions connexes