Our non profit organisation has members who should have full access tot the web site.

We created in civicrm a contribution page with

  1. no "contribution", only "membership" information
  2. a choice between three types of membership
  3. a civicrm profile with extra fields (address, phone number, birth day...)

Now, my question: how to get this page when the visitor goes to the Drupal register page? For the moment, only the civicrm profile is displayed, not the choice of the membership type.

  • So you are wanting to have a person choose a membership type and pay when they sign up for a Drupal account? Therefore, just adding a membership field to your CiviCRM Profile will not suffice, correct? Commented May 2, 2015 at 3:24
  • @Allen, one is anonymous visitor or member. As a member he pays a contribution, has access to the members-only part of the web site, and receives a quarterly printed magazine. We do not have Drupal accounts who are not paid members.
    – MarkDQ
    Commented May 4, 2015 at 23:27

2 Answers 2


As far as I'm aware you can expose a profile on a Drupal user registration page, but not a contribution page. Assuming you will have at least some public-facing content that is not member-only, you can include within this some information about joining, with links to your contribution page.

As part of your profile settings, you can specify whether a user account is created. So, when a user submits the contribution form, they will provide a username and an email address, and a Drupal account will be created for them.

One thing to look out for - if your membership is paid, the Drupal account may well be created regardless of whether the payment is completed successfully or not.

Then you can use the CiviMember role sync module to give the new member a Drupal role with appropriate access permissions when they next log in.

  • Agree. And good point about needing to differentiate between Authenticated Drupal Users - which will include those who never get around to completing payments - and those who are fully-paid up members.
    – petednz - fuzion
    Commented May 2, 2015 at 20:36
  • @Graham, but how to change the "new account" link in Drupal's "user login" block?
    – MarkDQ
    Commented May 4, 2015 at 23:48
  • @petednz, Drupal user accounts who have not paid, stay "blocked" until payment. Once paid, the status is changed to "active".
    – MarkDQ
    Commented May 4, 2015 at 23:51
  • Mark - hi - not sure if you are saying that is what you need, or that is what you have. If the latter, ie Drupal Users stay blocked until payment is made, are you doing this just via Rules or some other route? Is it something you have shared elsewhere as sounds useful for others
    – petednz - fuzion
    Commented May 5, 2015 at 4:52
  • @petednz, nothing is operational today (on the production site), we are looking for the best solution today. Plan is that the membership manager checks the payment (which is done offline, as civicrm does not support the online payment in our country) and manually changes "blocked" into "active".
    – MarkDQ
    Commented May 5, 2015 at 22:54

What I've done in Joomla in this situation is to first make a profile with the Joomla account creation option. Second make a plugin that redirects anyone who goes to the normal Joomla registration page to the profile page. You could also do it without the plugin if you make a layout override for the login module that changes the link for the "create an account page" go to your CiviCRM page and make a menu link to the Joomla account creation page that is special access. (Mainly I'm saying you want to avoid people directly typing in the create account URL.

  • where to find such a plugin? It seems that is one solution for my problem.
    – MarkDQ
    Commented May 4, 2015 at 23:55
  • This idea would be like this gist.github.com/elinw/6735616d3e0e0cae823c ... but that's based on a 1.5 plugin so i added some comments indicating where you might want to change things.
    – Elin
    Commented May 5, 2015 at 3:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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