كود:
<xf:macro name="user_info"
arg-user="!"
arg-fallbackName=""
arg-dateHtml=""
arg-linkHtml="">
<section itemscope itemtype="https://schema.org/Person" class="message-user">
<h4 class="message-name"><xf:username user="$user" rich="true" defaultname="{$fallbackName}" itemprop="name" /></h4>
<div class="message-avatar {{ ($xf.options.showMessageOnlineStatus && $user && $user.isOnline()) ? 'message-avatar--online' : '' }}">
<div class="message-avatar-wrapper">
<xf:avatar user="$user" size="m" defaultname="{$fallbackName}" itemprop="image" />
<xf:if is="$xf.options.showMessageOnlineStatus && $user && $user.isOnline()">
<span class="message-avatar-online" data-xf-init="tooltip" title="{{ phrase('online_now')|for_attr }}"></span>
</xf:if>
</div>
</div>
<div class="message-userDetails">
<xf:usertitle user="$user" tag="h5" class="message-userTitle" banner="true" itemprop="jobTitle" />
<xf:userbanners user="$user" tag="div" class="message-userBanner" itemprop="jobTitle" />
<xf:if is="{$dateHtml}"><div class="message-date">{$dateHtml}</div></xf:if>
</div>
<xf:if is="{$linkHtml}"><div class="message-permalink">{$linkHtml}</div></xf:if>
<xf:if is="$user.user_id">
<xf:set var="$extras" value="{{ property('messageUserElements') }}" />
<xf:if contentcheck="true">
<div class="avatarExtra">
<a href="{{ link('conversations/add', null, {'to': $user.username}) }}">
<span class="fa fa-envelope"></span></a>
<a href="{{ link('search/member', null, {'user_id': $user.user_id}) }}">
<span class="fa fa-comments"></span></a>
<a href="{{ link('search/member', null, {'user_id': $user.user_id, 'content': 'thread'}) }}">
<span class="fa fa-commenting"></span></a>
</div>
<div class="message-userExtras">
<xf:contentcheck>
<div class="myBlock">
<xf:if is="$extras.message_count">
<dl class="pairs pairs--justified">
<dt><simple-svg data-icon="fa-comment-o" title="{{ phrase('messages') }}"></simple-svg></dt>
<dd>{$user.message_count|number}</dd>
</dl>
</xf:if>
<xf:if is="$extras.trophy_points && $xf.options.enableTrophies">
<dl class="pairs pairs--justified">
<dt><simple-svg data-icon="icons8-powerpoint" title="{{ phrase('points') }}"></simple-svg></dt>
<dd>{$user.trophy_points|number}</dd>
</dl>
</xf:if>
</div>
<xf:if is="$extras.register_date">
<dl class="pairs pairs--justified">
<dt><span data-icon="flat-color-icons:calendar" class="simple-svg" title="{{ phrase('joined') }}"></span></dt>
<dd>{{ date($user.register_date) }}</dd>
</dl>
</xf:if>
<xf:if is="$extras.like_count">
<dl class="pairs pairs--justified">
<dt><span data-icon="ei-like" class="simple-svg" title="{{ phrase('likes') }}"></span></dt>
<dd>{$user.like_count|number}</dd>
</dl>
</xf:if>
<xf:if is="$extras.age && $user.Profile.age">
<dl class="pairs pairs--justified">
<dt>{{ phrase('age') }}</dt>
<dd>{$user.Profile.age}</dd>
</dl>
</xf:if>
<xf:if is="$extras.location && $user.Profile.location">
<dl class="pairs pairs--justified">
<dt>{{ phrase('location') }}</dt>
<dd>
<xf:if is="$xf.options.geoLocationUrl">
<a href="{{ link('misc/location-info', '', {'location': $user.Profile.location}) }}" rel="nofollow noreferrer" target="_blank" class="u-concealed">{$user.Profile.location}</a>
<xf:else />
{$user.Profile.location}
</xf:if>
</dd>
</dl>
</xf:if>
<xf:if is="$extras.website && $user.Profile.website">
<dl class="pairs pairs--justified">
<dt><span data-icon="dashicons-admin-site-alt" class="simple-svg" title="{{ phrase('website') }}"></span></dt>
<dd><a href="{$user.Profile.website}" rel="nofollow" target="_blank" title="{$user.Profile.website|url('host', phrase('visit_site'))}">الموقع</a></dd>
</dl>
</xf:if>
<xf:if is="$extras.custom_fields">
<xf:macro template="custom_fields_macros" name="custom_fields_values"
arg-type="users"
arg-group="personal"
arg-set="{$user.Profile.custom_fields}"
arg-additionalFilters="{{ ['message'] }}"
arg-valueClass="pairs pairs--justified" />
<xf:if is="$user.canViewIdentities()">
<xf:macro template="custom_fields_macros" name="custom_fields_view"
arg-type="users"
arg-group="contact"
arg-set="{$user.Profile.custom_fields}"
arg-additionalFilters="{{ ['message'] }}"
arg-valueClass="pairs pairs--justified" />
</xf:if>
</xf:if>
</xf:contentcheck>
</div>
</xf:if>
</xf:if>
<span class="message-userArrow"></span>
</section>
</xf:macro>
<xf:macro name="user_info_simple" arg-user="!" arg-fallbackName="">
<header itemscope itemtype="https://schema.org/Person" class="message-user">
<meta itemprop="name" content="{{ $user.username ?: $fallbackName }}">
<div class="message-avatar">
<div class="message-avatar-wrapper">
<xf:avatar user="$user" size="s" defaultname="{$fallbackName}" itemprop="image" />
</div>
</div>
<span class="message-userArrow"></span>
</header>
</xf:macro>
<xf:macro name="attachments" arg-attachments="!" arg-message="!" arg-canView="!">
<xf:if contentcheck="true">
<xf:css src="attachments.less" />
<section class="message-attachments">
<h4 class="block-textHeader">{{ phrase('attachments') }}</h4>
<ul class="attachmentList">
<xf:contentcheck>
<xf:foreach loop="$attachments" value="$attachment" if="!$message.isAttachmentEmbedded($attachment)">
<xf:macro template="attachment_macros" name="attachment_list_item"
arg-attachment="{$attachment}"
arg-canView="{$canView}" />
</xf:foreach>
</xf:contentcheck>
</ul>
</section>
</xf:if>
</xf:macro>
<xf:macro name="signature" arg-user="!">
<xf:if is="$xf.visitor.Option.content_show_signature AND $user.Profile.signature">
<xf:if contentcheck="true">
<aside class="message-signature">
<xf:contentcheck>
{{ bb_code($user.Profile.signature, 'user:signature', $user) }}
</xf:contentcheck>
</aside>
</xf:if>
</xf:if>
</xf:macro>
في قالب: extra.less أضف الكود لتالي:
كود:
/* ALMASIRA - XenForo 3.0 Postbit 2019 */
@gri: rgb(148, 166, 187);
.myBlock {
display: table;
table-layout: fixed;
border-spacing: 4px;
width: 100%;
>dl {
display: table-cell;
width: 50%;
border-radius: 1px;
margin: 0;
background: #f5f5f5;
position: relative;
border-bottom: 3px solid rgb(255,150,0);
>dt {
>svg {
color: @gri;
font-size: 20px;
margin-bottom: 5px;
}
}
}
dl {
dt {
text-align: center;
font-size: 15px;
display: block;
color: @gri;
}
dd {
text-align: center;
font-size: 15px;
display: block;
color: @gri;
}
}
.pairs.pairs--justified {
>dt {
float: none;
}
>dd {
float: none;
text-align: center;
}
}
.pairs {
>dt {
&:after {
content: " ";
}
}
}
}
.message-userArrow {
position: absolute;
top: 0px;
right: -12px;
display: block;
line-height: 0px;
width: 0;
height: 0;
border-style: solid;
border-width: 13px 13px 0 0;
border-color: #d2d9df transparent transparent transparent;
_display: none;
}
.message-name {
background: #fefefe;
margin-bottom: 1px;
padding: 5px 0;
}
.message-avatar .avatar {
border-radius: 100%;
}
.message-avatar-wrapper .message-avatar-online {
position: absolute;
top: 0px;
left: 9px;
right: -1px;
bottom: 1px;
border: 2px solid;
border-left-color: #7fb90087;
border-top-color: #7fb90087;
border-right-color: #7fb90087;
border-bottom-color: #7fb90087;
border-radius: 100%;
box-shadow: 0px 0px 10px 3px rgba(125, 183, 1, 0.16862745);
width: 100%;
height: 100%;
}
.message-cell.message-cell--user {
background: #d2d9df;
}
.message-userExtras .pairs > dt:after,
[data-template="forum_list"] .pairs > dt:after
{
content: " ";
}
.message-userExtras svg {
font-size: 26px;
color: rgb(96, 123, 155);
margin: 0 3px;
}
.message-userExtras {
background: #fefefe;
}
.message-userExtras>.pairs.pairs--justified {
border-bottom: 1px solid #cbcbcb;
padding:3px 0;
}
.message-userExtras > .pairs.pairs--justified > dd {
line-height: 26px;
color: #607b9b;
padding-right: 5px;
}
.message-avatar {
order: 1;
}
.message-name {
order: 2;
}
.message-userDetails {
order: 3;
}
.message-avatar {
background: aliceblue;
padding: 5px;
}
@media (max-width: 650px){
.message:not(.message--forceColumns) .message-user {
display: grid;
}
.message:not(.message--forceColumns) .message-name,
.message:not(.message--forceColumns) .message-userDetails
{
text-align: center !important;
background: #fefefe;
padding: 5px;
}
.message-name {
margin-left: 0px !important;
}
.message-userArrow {
display:none;
}
}
.avatarExtra {
display: flex;
background:@xf-paletteNeutral1;
}
.avatarExtra a {
flex: auto;
padding: 5px;
text-align: center;
}
/* ALMASIRA - XenForo 3.0 Postbit 2019 */