Original XenForo 1.1.x
instructions
Members could just as easily search for members, follow other members to their profile (if that member allowed it), send personal messages to members, and leave profile comments without a members list.
Further the members list was heavy on resources and primarily abused by spammers as a spam list. Removing the members list saved on server resources by saving database queries, page loads, and has prevented abuse through spam. The above also reduced to page speed load for members using our community.
STEP 1
First let's remove the tabs
Skin Template:
navigation
Search for:
IF XenForo 1.1.4 (or newer)
PHP:
<!-- members -->
<xen:if is="{$tabs.members}">
<li class="navTab members {xen:if $tabs.members.selected, 'selected', 'Popup PopupControl PopupClosed'}">
<a href="{$tabs.members.href}" class="navLink">{$tabs.members.title}</a>
<a href="{$tabs.members.href}" class="SplitCtrl" rel="Menu"></a>
<div class="{xen:if {$tabs.members.selected}, 'tabLinks', 'Menu JsOnly tabMenu'} membersTabLinks">
<div class="primaryContent menuHeader">
<h3>{$tabs.members.title}</h3>
<div class="muted">{xen:phrase quick_links}</div>
</div>
<ul class="secondaryContent blockLinksList">
<xen:hook name="navigation_tabs_members">
<li><a href="{xen:link members}">{xen:phrase registered_members}</a></li>
<li><a href="{xen:link online}">{xen:phrase current_visitors}</a></li>
<xen:if is="{$xenOptions.enableNewsFeed}"><li><a href="{xen:link recent-activity}">{xen:phrase recent_activity}</a></li></xen:if>
</xen:hook>
</ul>
</div>
</li>
</xen:if>
IF XenForo 1.1.3 (or older)
PHP:
<!-- members -->
<xen:if is="{$tabs.members}">
<li class="navTab members {xen:if $tabs.members.selected, 'selected', 'Popup PopupControl PopupClosed'}">
<a href="{$tabs.members.href}" class="navLink">{$tabs.members.title}</a>
<a href="{$tabs.members.href}" class="SplitCtrl" rel="Menu"></a>
<div class="{xen:if {$tabs.members.selected}, 'tabLinks', 'Menu JsOnly tabMenu'}">
<div class="primaryContent menuHeader">
<h3>{$tabs.members.title}</h3>
<div class="muted">{xen:phrase quick_links}</div>
</div>
<ul class="secondaryContent blockLinksList">
<xen:hook name="navigation_tabs_members">
<li><a href="{xen:link members}">{xen:phrase registered_members}</a></li>
<li><a href="{xen:link online}">{xen:phrase current_visitors}</a></li>
<xen:if is="{$xenOptions.enableNewsFeed}"><li><a href="{xen:link recent-activity}">{xen:phrase recent_activity}</a></li></xen:if>
</xen:hook>
</ul>
</div>
</li>
</xen:if>
Comment that ALL out using
PHP:
<xen:comment>
</xen:comment>
Next....
Skin Template:
Extra.css
Add the following:
PHP:
.navTabs .navTab.members.PopupClosed
{
display: none;
}
Next....
Let's remove members list link in your Quick Navigation Menu
In template:
quick_navigation_menu
Look for
PHP:
<li><a href="{xen:link members}">{xen:phrase registered_members}</a></li>
And comment it out by wrapping it with
PHP:
<xen:comment>
</xen:comment>
So when done it will look like this
PHP:
<xen:comment><li><a href="{xen:link members}">{xen:phrase registered_members}</a></li></xen:comment>
Step 2 - A
You can skip step
Step 2 - A if you follow
Step 2 -B
Or you can do both if you want (the choice is yours)
Lets remove all remaining extra links and make entering the address manually useless
Skin Template:
member_list
Search for:
PHP:
<xen:h1>{xen:phrase registered_members}</xen:h1>
Directly below it add:
PHP:
<xen:if is="!{xen:helper ismemberof, $visitor, $member}">
So when done it will look like:
PHP:
<xen:h1>{xen:phrase registered_members}</xen:h1>
<xen:if is="!{xen:helper ismemberof, $visitor, $member}">
Next .... (within same template)
Search for:
Directly under it add the following:
PHP:
<xen:else />
The Administrator has turned off this feature.
</xen:if>
Note: You can change that notice however you like.
"The requested page could not be found." works just as good.
So when done it will look like this:
PHP:
</xen:sidebar>
<xen:else />
The Administrator has turned off this feature.
</xen:if>
Step 2 - B
If you prefer not having more template edits and would rather allow Apache to re-direct /members/ back to your forum's home page. You can simple add this to your htaccess
PHP:
RedirectMatch 301 ^/forums/members/?$ /forums/
You should adjust that path to fit your needs.
For example:
If you're not using
/forums/ for your site, but rather
/community/ it would look like this
PHP:
RedirectMatch 301 ^/community/members/?$ /community/
Step 3
All that remains now is the breadcrumbs. Let's get rid of them.
In the following files search for:
library/XenForo/Route/Prefix/Members.php
PHP:
return $router->getRouteMatch('XenForo_ControllerPublic_Member', $action, 'members')
library/XenForo/Route/Prefix/Online.php
PHP:
return $router->getRouteMatch('XenForo_ControllerPublic_Online', $action, 'members');
library/XenForo/Route/Prefix/RecentActivity.php
PHP:
return $router->getRouteMatch('XenForo_ControllerPublic_RecentActivity', 'index', 'members');
You should notice that that while part of those code strings vary, they all end with
Change that to:
DONE
Congratulations
Future version plans:
- TMS Release so manual template edits not required
.htaccess redirect so that manually entering /members/ alone without a user name, will direct you back to the forum (site). Making the above notice, not required. Step 2 B added May 8th, 2013
License
This modification uses shared common usage code from XenForo and as such as the property of XenForo Ltd (all rights reserved). It may be freely used and modified among customers of XenForo Ltd.
This modification also uses common usage code from Apache and this aspect of this modification maybe freely used (its non exclusive).