0

How to redirect, change or replace the "user/register" link to another registration page, such as "civicrm/contribute/transact&reset=1&id=1"?

Why? Because our "Drupal users" are (paid) members, they have to choose a membership type, they get informed about the corresponding fee (and how to pay offline) and have to provide additional member information (postal address, day of birth,...). All this is handled by a civiMember page, which creates also a Drupal user (user name and password), blocked at the beginning (changed to active as soon as payment is received). We probably have to keep the Drupal user login block, for registered users (paid members) to login.

2

The easiest solution I think here is just redirect it at the Apache (.htaccess) level with a rewrite rule:

RewriteRule ^user/register$ /civicrm/contribute/transact&reset=1&id=1 [NC,L,R=301]
  • RewriteRule is not allowed by our shared hosting provider. – MarkDQ May 8 '15 at 17:05
2

The Drupal Redirect module can push people from user/register to a civi form

  • It works... but I get an "no access rights" error. The URL is transformed: [domain]?q=civicrm/contribute/transact%26reset%3D1%26id%3D1 The original URL gives no error: [domain]?q=civicrm/contribute/transact&reset=1&id=1 Isn't the "translation" from & and = into % values something neutral in a URL? so why the & and = works, and the % does not. – MarkDQ May 7 '15 at 10:02
  • Sorry, I think you need to use Alias and Redirect, eg set Alias for civicrm/contribute/transact?reset=1&id=2 to /join. And set Redirect from user/register to join. If that resolves it i will update my answer – petednz - fuzion May 7 '15 at 20:57
  • great thx for your help, but... same result. Alias and Redirect both are working perfectly, but i still get the "no access rights" error. Again, replacing the new alias by the original civiCRM url gives no error, displays the "new member" page as wanted. – MarkDQ May 7 '15 at 21:53
  • Redirecting to a page with drupal_goto() seems to work (I will test later): drupal_goto('civicrm/contribute/transact', array('query'=>array('reset'=>'1','id'=>'1',)) ); – MarkDQ May 8 '15 at 23:48
  • The suggestion of using drupal_goto() was found here (the syntax has changed since 2008): civicactions.com/blog/… – MarkDQ May 9 '15 at 0:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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