orhan
Moderator
- Joined
- Dec 5, 2018
- Messages
- 471
- Reaction score
- 101
- Points
- 28
Merhaba bu benim xenforo'da ilk paylaşımım umarim birilerinin işine yarar Öncellikle belirteyim bunu yapmanın daha pratik yolu vardır mutlaka örnek sorgu kullanarak maalesef ben kodlara yeni aşina olduğum için biraz uzun bir yol seçtim
1- Not: Herhangi bir şablonu değiştirmeden önce, herhangi bir hata olması durumunda geriye dönmek için şablonun bir kopyasını alın .
2- Yeni bir şablon oluşturun ve ona istediğiniz ismi verin, ben ona message_macros_first adını vereyim ve aşağıdaki kodları içine yapıştıralım
3- post_macros şablonunu açıp şu kodu arıyoruz :
Bul
Bunu şununla değiştiriyoruz:
Değişiklikleri Kaydet.
4 - extra.less şablonunu açın ve şu kodu ekleyin:
message_macros_first kodlari
1- Not: Herhangi bir şablonu değiştirmeden önce, herhangi bir hata olması durumunda geriye dönmek için şablonun bir kopyasını alın .
2- Yeni bir şablon oluşturun ve ona istediğiniz ismi verin, ben ona message_macros_first adını vereyim ve aşağıdaki kodları içine yapıştıralım
3- post_macros şablonunu açıp şu kodu arıyoruz :
Bul
HTML:
<xf:extension name="full_body">
<div class="message-inner">
<xf:extension name="user_cell">
<div class="message-cell message-cell--user">
<xf:macro template="message_macros" name="user_info" arg-user="{$post.User}"
arg-fallbackName="{$post.username}"/>
</div>
</xf:extension>
HTML:
<xf:extension name="full_body">
<div class="message-inner {{ $post.position == 0 ? 'dis-block': ''}}">
<xf:extension name="user_cell">
<div class="message-cell message-cell--user">
<xf:if is="$post.position == 0">
<xf:macro template="message_macros_first" name="user_info" arg-user="{$post.User}"
arg-fallbackName="{$post.username}"/>
<xf:else />
<xf:macro template="message_macros" name="user_info" arg-user="{$post.User}"
arg-fallbackName="{$post.username}"/>
</xf:if>
</div>
</xf:extension>
Değişiklikleri Kaydet.
4 - extra.less şablonunu açın ve şu kodu ekleyin:
CSS:
.dis-none{
display: none !important;
}
.message-user_first_post{
clear: both;
}
.post_userExtras{
float: right;
margin-top: 3px;
font-size: 12px;
padding: 5px;
}
.post_userExtras .pairs, .message-userExtras .pairs{
background: #fff;
padding: 5px;
border: 1px olid #000;
color: #23412e;
margin-bottom: 2px;
}
.clear{
clear: both;
}
.message .dis-block {
flex-direction: column;
}
.message .message-cell.message-cell--user .message-user .message-userDetails {
margin-left: 0;
flex: 1;
min-width: 0;
padding-left: 15px;
width: 100%;
}
.message .dis-block .message-cell.message-cell--user {
flex: 0 0 100%;
}
.message .dis-block .message-cell.message-cell--user .message-user {
display: flex;
align-items: center;
}
.message .dis-block .message-cell.message-cell--user .message-user .message-userDetails {
margin-left: 0;
flex: 1;
min-width: 0;
padding-left: 15px;
width: 100%;
}
@media (min-width: 650px){
.message .dis-block .message-cell.message-cell--user .message-user .message-name {
text-align: left;
}
.message .dis-block .message-cell.message-cell--user .message-user .message-userTitle, .message .dis-block .message-cell.message-cell--user .message-user .message-userBanner.userBanner {
display: inline-block;
text-align: left;
margin: 0;
}
}
message_macros_first kodlari
PHP:
<xf:macro name="user_info"
arg-user="!"
arg-fallbackName="">
<section itemscope itemtype="https://schema.org/Person" class="message-user {{ $post.position == 0 ? 'message-user_first_post': '' }}">
<div class="message-avatar {{ ($xf.options.showMessageOnlineStatus && $user && $user.isOnline()) ? 'message-avatar--online' : '' }}">
<div class="post_AvatarUserDetails">
<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" tabindex="0" data-xf-init="tooltip" data-trigger="auto" title="{{ phrase('online_now')|for_attr }}"></span>
</xf:if>
</div>
<div class="message-userDetails">
<h4 class="message-name"><xf:username user="$user" rich="true" defaultname="{$fallbackName}" itemprop="name" /></h4>
<xf:usertitle user="$user" tag="h5" class="message-userTitle" banner="true" itemprop="jobTitle" />
<xf:userbanners user="$user" tag="div" class="message-userBanner" itemprop="jobTitle" />
</div>
</div>
<xf:if is="$user.user_id">
<xf:set var="$extras" value="{{ property('messageUserElements') }}" />
<xf:if contentcheck="true">
<div class="post_userExtras">
<div class="message-userExtras">
<xf:contentcheck>
<xf:if is="$extras.register_date">
<dl class="pairs pairs--justified">
<dt>{{ phrase('joined') }}</dt>
<dd>{{ date($user.register_date) }}</dd>
</dl>
</xf:if>
<xf:if is="$extras.message_count">
<dl class="pairs pairs--justified">
<dt>{{ phrase('messages') }}</dt>
<dd>{$user.message_count|number}</dd>
</dl>
</xf:if>
<xf:if is="$extras.reaction_score">
<dl class="pairs pairs--justified">
<dt>{{ phrase('reaction_score') }}</dt>
<dd>{$user.reaction_score|number}</dd>
</dl>
</xf:if>
<xf:if is="$extras.trophy_points && $xf.options.enableTrophies">
<dl class="pairs pairs--justified">
<dt>{{ phrase('points') }}</dt>
<dd>{$user.trophy_points|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>{{ phrase('website') }}</dt>
<dd><a href="{$user.Profile.website}" rel="nofollow" target="_blank">{$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>
</div><div class="clear"></div>
</xf:if>
</xf:if>
<span class="message-userArrow {{ $post.position == 0 ? 'dis-none': '' }}"></span>
</section>
<div class="clear"></div>
</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>