I would like to add a style-able Subscription box which will consist of a Heading, text field and a styled button in form of an image. Upon pressing the submit button I would like the user to be presented with some options in form of checkboxes as well as the option if they would like html or plain text email format.

How would I go about adding this to my drupal 7 site?


You can go ahead with Newsletter module. Module page explains features of it-

  • Multiple newsletters lists configurable on existing terms.
  • Plain text or HTML out of the box.
  • Multiple schedules Each newsletter can have more than one schedule, e.g. Daily, Monthly, Weekly, manually or even custom, eg after 10 new posts for this term.
  • Centralized administration and configuration on a single page.
  • Users can customize the terms in the list they subscribe to.
  • Custom template per list.
  • Statistics (CTR and Open-Rate).

As I see, it fulfil your requirement.

| improve this answer | |

There are basicly two alternatives:

  1. Using the Ctoosl Modal module. This module, included on the ctools project, is the most popular way to popup modal forms on Drupal, with lots of addon modules (like modal_forms). Here is a nice tutorial.

  2. Using a custom module. You may find the following modules helpful:

    • popup_message - which seems well supported.
    • popup_announcement - this is a new module which seems closer to what you search for, with full html support, but with only a few downloads.

With option 2, you should have to create the form and inject it into the popup using the forms API, so here is a form creation tutorial, and a stackexchange discussion about the best form creation method.

| improve this answer | |
  • Thank you @druvision I don't wan't any pop up forms though. SOrry, by box I meant a block/container/area... – user19417 Aug 12 '13 at 7:33
  • Next time it's better if you provide a sample link which shows what you want... – Druvision Aug 12 '13 at 7:38

Not the answer you're looking for? Browse other questions tagged or ask your own question.