2009-04-23 14 views
2

Je suis nouveau sur Drupal 6.10 CMS et PHP aussi. Je crée mon site web avec Drupal et j'ai trouvé un module appelé Webform J'aime ça, il est assez facile de créer des formulaires avec différents types de champs et de télécharger des fichiers. La seule chose que je ne peux pas comprendre est comment ajouter du texte enrichi avant tous les champs. Quelque chose comme l'introduction au formulaire. Ce module a un champ "Description" qui montrera le texte comme un texte brut mais il n'a pas de texte riche.Personnaliser le module WebForm dans Drupal

Que puis-je utiliser pour que cela se produise. Est-il possible de coder en dur html ou existe-t-il d'autres modules permettant de faire quelque chose comme ça?

Merci

Répondre

6

la valeur du champ "Description" est passé à travers _webform_filter_descriptions(). cette fonction a un paramètre $strict, par défaut TRUE, qui détermine si la description est filtrée via filter_xss() ou non. filter_xss() permet à certains html:

'a', 'em', 'fort', 'cite', 'code', 'ul', 'ol', 'li', 'dl', « dt », « dd »

de sorte que vous pouvez restreindre votre « texte riche » html à ces éléments ou modifier _webform_filter_descriptions(), la mise en $strict-FALSE. Dans ce dernier cas, soyez conscient des implications en termes de sécurité (les utilisateurs ayant le droit de créer des descriptions de formulaires Web pourraient entrer dans un code html malveillant - c'est ce que protège filter_xss()).

0

Je pense que tout ce que vous devez faire est de définir le « format d'entrée » à « html complet » et vous pouvez utiliser tous les balises HTML/CSS que vous voulez définir le style du texte.

0

Vous pouvez y parvenir par la création d'un composant formulaire « MARKUP » dans la liste déroulante l'option lors de la création de nouveaux champs. De cette partie, vous pouvez placer html et php dans cette boîte comme vous le souhaitez.

Vous avez également la possibilité de choisir le format d'entrée pour avoir plus de contrôle sur la façon dont vous voulez travailler avec cet élément.

0

Comme l'OP dit, la case « Confirmation » apparaît avec les barres d'outils de l'éditeur WYSIWYG, mais la boîte « Description » ne fonctionne pas.

La manière la plus simple de gérer cela consiste simplement à encoder le code HTML souhaité dans la zone Description. Bien que nulle part ne dise que vous pouvez le faire, vous pouvez, et cela fonctionne.

0

Voici un petit guide que j'ai écrit sur l'exécution de code personnalisé avec Webform. Il détaille l'écriture d'un module personnalisé, la copie du modèle Webform pour qu'il corresponde à l'ID de nœud et l'ajout de javascript/jquery personnalisés pour le traitement des formulaires.

http://docs.quantact.com/drupal-webform-custom-php-code

+0

Peut-être que vous pourriez écrire répondre ici aswell, au lieu de simplement donner un lien? – Tom

Questions connexes