• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Post ranks

Blakefire

Active member
#1
Is there a way so every time a user reaches a certain amount of post that I defined in the ACP they gain an rank? So lets say a user reaches 10 post and their rank is now "newbie", I also want them to be able to gain a small icon under their name to show their rank here is a example.
rank.PNG

On this site, I gain a flag for every so many post, like at 650 post I got that blue one added. Is it possible to do this on XF? Sorry for explaining it poorly.
 

Sylar

Well-known member
#2
I know what you mean. I once tried to make an add-on for this, but since abandoned it. I'm sure you can do it with certain conditionals for titles and whatnot in the ACP, or you could even go for a medal system. Otherwise there's no other way short of you coding your own system for it.
 

Jake Bunce

XenForo moderator
Staff member
#3
Basically this:

http://xenforo.com/community/threads/picture-that-changes-with-post-count.27017/#post-321379

But if you want the ranks to accumulate then you can alter the code slightly:

Code:
	<xen:if hascontent="true">
		<div class="extraUserInfo">
			<xen:contentcheck>
			<xen:hook name="message_user_info_extra" params="{xen:array 'user={$user}', 'isQuickReply={$isQuickReply}'}">

				<dl class="pairsInline">
					<dt>Rank:</dt>
					<dd>

						<xen:if is="{$user.message_count} > 5">
							1
						</xen:if>
						<xen:if is="{$user.message_count} > 10">
							2
						</xen:if>
						<xen:if is="{$user.message_count} > 50">
							3
						</xen:if>
						<xen:if is="{$user.message_count} > 100">
							4
						</xen:if>

					</dd>
				</dl>

				<xen:if is="@messageShowRegisterDate">
					<dl class="pairsInline">
						<dt>{xen:phrase member_since}:</dt>
						<dd>{xen:date $user.register_date}</dd>
					</dl>
				</xen:if>
				
				<xen:if is="@messageShowMessageCount">
					<dl class="pairsInline">
						<dt>{xen:phrase message_count}:</dt>
						<dd><a href="{xen:link search/member, '', 'user_id={$user.user_id}'}" class="concealed">{xen:number $user.message_count}</a></dd>
					</dl>
				</xen:if>
That way if a user has 200 posts it will show all ranks, 1234. You can insert HTML image code there to display rank images.