aMember for XF opens up countless payment options for users, but it's also a great way to synchronize your user's logins, emails and passwords between several types of community software: blogs, CMS, wikis, and forums.
If there's a payment system or software that's not currently offered, aMember devs do custom development work for low prices and they're fast.
Tips for using aMember with Xenforo
* Preserve your groups! You want amember to handle your "premium" groups but there's likely some forum-specific "fun" groups you want to handle on the XF-side. Head to
amember/admin-setup/xenforo
. Under "Super Groups" you'll want to add every usergroup that you don't want aMember to wipe: moderator groups are included by default, but you should add any "fun" / community usergroups, as any usergroup that you don't have set up as a product in aMember will be wiped upon user update.
* Don't use aMember's SSO (single sign-on). Your experience may vary, but I find it more reliable for everyone to log-in to Xenforo, or Wikis, or Wordpress using the native software. To accomplish native sign-in with Xenforo, I made the following changes to the XF plugin
addons\Amember\Redirect.php
PHP:
if ($routeMatch->getController() == 'XF:Register') {
self::redirect('/signup', $isAjax, false);
}
if ($routeMatch->getController() == 'XF:Login'
|| $routeMatch->getController() == 'XF:LostPassword') {
self::redirect('/login', $isAjax);
}
if ($routeMatch->getController() == 'XF:Logout') {
self::redirect('/logout', $isAjax);
}
}
to
PHP:
/* if ($routeMatch->getController() == 'XF:Register') {
self::redirect('/signup', $isAjax, false);
}
*/
if ($routeMatch->getController() == 'XF:LostPassword') {
self::redirect('/login?sendpass', $isAjax, false);
}
/* if ($routeMatch->getController() == 'XF:Logout') {
self::redirect('/logout', $isAjax);
} */
}
This allows users to logout and login natively with Xenforo, as well as connect various cloud accounts (Facebook, Discord, etc.) to their XF profile.
With these modifications, you'll also want to:
- Disable registration on XF (
admin.php?options/groups/usersAndRegistration/
)
- Include a link to amember's registration somewhere on the forums that's easy to find.
- Forward
account/email
changes to amember. I made custom plugins for this and can supply them on request.
- Add anti-spam safeguards to registration. With amember handling registration you lose many anti-spam options for XF, so in aMember you'll want to set up "random questions" as well as captcha to protect your forum from spam. (We should probably ask them to make a stopforumspam feature.)
As always, I'm happy to answer any questions though I'm a bit slow to respond.