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

XF 1.1 Is it possible to change the order of profile fields

#1
Hi! I wonder if it's possible to make my custom user fields be on top of for example the "Location field" ? Seems like I only can change the order of custom user fields.

This is how the order looks when Xenforo is installed:
Location
Occupation
Home Page
Custom User Field.

But what if I wanted it to look like this:
Custom User Field
Location
etc

Why I ask is that I have a custom profile field called Firstname and Lastname, and it feels like these should show before the other fields.

And is it possible to remove or rename the Location field?
 

Jake Bunce

XenForo moderator
Staff member
#2
Admin CP -> Appearance -> Templates -> message_user_info

Move the red code as indicated below:

Code:
<xen:require css="message_user_info.css" />

<div class="messageUserInfo" itemscope="itemscope" itemtype="http://data-vocabulary.org/Person">	
<div class="messageUserBlock">
	<xen:hook name="message_user_info_avatar" params="{xen:array 'user={$user}', 'isQuickReply={$isQuickReply}'}">
		<div class="avatarHolder">
			<span class="helper"></span>
			<xen:avatar user="$user" size="m" />
			<!-- slot: message_user_info_avatar -->
		</div>
	</xen:hook>

<xen:if is="!{$isQuickReply}">
	<xen:hook name="message_user_info_text" params="{xen:array 'user={$user}', 'isQuickReply={$isQuickReply}'}">
		<h3 class="userText">
			<xen:username user="$user" itemprop="name" rich="true" />
			<xen:if hascontent="true"><em class="userTitle" itemprop="title"><xen:contentcheck>{xen:helper userTitle, $user}</xen:contentcheck></em></xen:if>
			<!-- slot: message_user_info_text -->
		</h3>
	</xen:hook>
		
	<xen:if hascontent="true">
		<div class="extraUserInfo">
			<xen:contentcheck>
			MOVE RED CODE HERE
			<xen:hook name="message_user_info_extra" params="{xen:array 'user={$user}', 'isQuickReply={$isQuickReply}'}">
				<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>
				
				<xen:if is="@messageShowTotalLikes">
					<dl class="pairsInline">
						<dt>{xen:phrase likes_received}:</dt>
						<dd>{xen:number $user.like_count}</dd>
					</dl>
				</xen:if>
				
				<xen:if is="@messageShowTrophyPoints">
					<dl class="pairsInline">
						<dt>{xen:phrase trophy_points}:</dt>
						<dd><a href="{xen:link 'members/trophies', $user}" class="OverlayTrigger concealed">{xen:number $user.trophy_points}</a></dd>
					</dl>
				</xen:if>
			
				<xen:if is="@messageShowGender AND {$user.gender}">
					<dl class="pairsInline">
						<dt>{xen:phrase gender}:</dt>
						<dd itemprop="gender"><xen:if is="{$user.gender} == 'male'">{xen:phrase male}<xen:else />{xen:phrase female}</xen:if></dd>
					</dl>
				</xen:if>
				
				<xen:if is="@messageShowOccupation AND {$user.occupation}">
					<dl class="pairsInline">
						<dt>{xen:phrase occupation}:</dt>
						<dd itemprop="role">{xen:string censor, $user.occupation}</dd>
					</dl>
				</xen:if>
				
				<xen:if is="@messageShowLocation AND {$user.location}">
					<dl class="pairsInline">
						<dt>{xen:phrase location}:</dt>
						<dd><a href="{xen:link 'misc/location-info', '', 'location={xen:string censor, $user.location, '-'}'}" target="_blank" rel="nofollow" itemprop="address" class="concealed">{xen:string censor, $user.location}</a></dd>
					</dl>
				</xen:if>
			
				<xen:if is="@messageShowHomepage AND {$user.homepage}">
					<dl class="pairsInline">
						<dt>{xen:phrase home_page}:</dt>
						<dd><a href="{xen:string censor, $user.homepage, '-'}" rel="nofollow" target="_blank" itemprop="url">{xen:string censor, $user.homepage}</a></dd>
					</dl>
				</xen:if>
							
			</xen:hook>			
			<xen:if is="@messageShowCustomFields AND {$user.customFields}">
			<xen:hook name="message_user_info_custom_fields" params="{xen:array 'user={$user}', 'isQuickReply={$isQuickReply}'}">
			
				<xen:foreach loop="$userFieldsInfo" key="$fieldId" value="$fieldInfo">
					<xen:if is="{$fieldInfo.viewable_message}">
						<xen:if hascontent="true">
							<dl class="pairsInline userField_{$fieldId}">
								<dt>{xen:helper userFieldTitle, $fieldId}:</dt>
								<dd><xen:contentcheck>{xen:helper userFieldValue, $fieldInfo, $user, {$user.customFields.{$fieldId}}}</xen:contentcheck></dd>
							</dl>
						</xen:if>
					</xen:if>
				</xen:foreach>
				
			</xen:hook>
			</xen:if>
			</xen:contentcheck>
		</div>
	</xen:if>
		
</xen:if>

	<span class="arrow"><span></span></span>
</div>
</div>
And is it possible to remove or rename the Location field?
No. That is an "integrated" profile field.