Neler yeni

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

  • Forumdan daha fazla yararlanmak için, profilinizi telefon numaranız 📱 ile doğrulayın ve daha ayrıcalıklı olun 😉
    Daha fazla bilgi!

Son mesajlardaki kullanıcı resmi

seyrani

Sabit kullanıcı
Kullanıcı
Katılım
9 May 2020
Mesajlar
66
Merhaba. Normalde etiket'in yaptığı Forum İstatiklerini kullanacaktım ama Last Post Jump (Konuya atılan son mesaja gitmeyi sağlıyor.) çalışmıyor ve son mesajlar kısmında konu sahibi listeleniyor.Benim istediğim ise son atılan mesajı kim attıysa o listelensin.

Xenforo'nun kendi forum mesajlarını kullanıyorum. Fakat bunda da son mesajlarda konuyu açan solda son mesajı yazan ise sağda yer alıyor. Ben bunun tam tersini yapmak istiyorum. Yani sol tarafta son mesaj gönderen ve kullancıcı resmi en sağ tarafta ise konuyu kim açtıysa artık.Böyle yapmamın nedeni de mobilde sadece soldaki kısım gözüküyor ve ben de konuya en son kim yanıt yazdıysa o gözüksün istiyorum.Düşünün konu 10 sene önce açılmış,konu sahibi ortada yok.

Aşağıdaki görsel xenforonun kendi son mesajlar witgetinin "tam"görünüm şeklinde ayarlanmış hali. dikdörtgen kısımdaki konuyu açan kullanıcı adı,kullanıcı resmi ve konu açılma tarihini sağ tarafta daireyle işaretlediğim son mesaj gönderen kullanıcı adı,resmi ve ne zaman atıldıysa(saat tarih vb) yer değişmesini istiyorum. Dediğim gibi bunu yapmak isteme amacım.Mobilde sadece soldaki kısım gözüküyor dikey kullanımda. Eğer widget ayarlarından tam değilde sade yi seçersem de pc görünümünde sağda beyaz bir boşluk kalıyor çirkin oluyor.

Bunu nasıl yapabilirim.

Yardımcı olabilecek var mı? Teşekkürler.

Untitled-1.jpg n mesaj gönderen ve kullanıcı resmi, kullanıcı adı yer almasını istiyorum.
 
Görünüm ve Diller > Şablonlar > thread_list_macros şablonun içerisine giriniz. ve aşağıda ki kodu bulunuz.

Kod:
<a href="{{ link('threads/latest', $thread) }}" rel="nofollow"><xf:date time="{$thread.last_post_date}" class="structItem-latestDate" /></a>
                <div class="structItem-minor">
                    <xf:if is="$xf.visitor.isIgnoring($thread.last_post_user_id)">
                        {{ phrase('ignored_member') }}
                    <xf:else />
                        <xf:username user="{$thread.LastPoster}" defaultname="{$thread.last_post_username}" />
   </xf:if>

bu kodla değiştiriniz.

Kod:
<a href="{{ link('threads', $thread) }}" rel="nofollow"><xf:date time="{$thread.post_date}" /></a>
    <div class="structItem-minor">
       <xf:username user="$thread.User" defaultname="{$thread.username}" />
     </div>
</xf:if>


Aynı şablon içerisinden aşağıda ki kodu bulunuz.

Kod:
<li><xf:username user="$thread.User" defaultname="{$thread.username}" /></li>
 <li class="structItem-startDate"><a href="{{ link('threads', $thread) }}" rel="nofollow"><xf:date time="{$thread.post_date}" /></a></li>

aşağıda ki kodla değiştiriniz.

Kod:
<li><xf:if is="$xf.visitor.isIgnoring($thread.last_post_user_id)">
                        {{ phrase('ignored_member') }}
                    <xf:else />
                        <xf:username user="{$thread.LastPoster}" defaultname="{$thread.last_post_username}" />
                    </xf:if></li>
                        <li class="structItem-startDate"><a href="{{ link('threads/latest', $thread) }}" rel="nofollow"><xf:date time="{$thread.last_post_date}" class="structItem-latestDate" /></a></li>

Not : Eski yaptığımız sistem geçerlidir.
 
MusaPekel MusaPekel

değişikliği yaptığımda kaydetmek istediğimde bazı sorunlarla karşılaştık diyor

Line 182: Şablon etiketleri iyi oluşturulmamıştır. Etiket if beklerken if bulundu. - Şablon adı: public:thread_list_macros

182 </xf:if>
183 </div>

182 ve 183 teki satırlardaki yukarda verdiğim kod parçaçıkları kırmızı. her ikisinde de bu uyarıyı veriyor kaydetmiyor.
 
Kod:
<xf:macro name="item"
    arg-thread="!"
    arg-forum=""
    arg-forceRead="{{ false }}"
    arg-showWatched="{{ true }}"
    arg-allowInlineMod="{{ true }}"
    arg-chooseName=""
    arg-extraInfo=""
    arg-allowEdit="{{ true }}">

    <xf:css src="structured_list.less" />

    <div class="structItem structItem--thread{{ $thread.prefix_id ? ' is-prefix' . $thread.prefix_id : '' }}{{ $thread.isIgnored() ? ' is-ignored' : '' }}{{ ($thread.isUnread() AND !$forceRead) ? ' is-unread' : '' }}{{ $thread.discussion_state == 'moderated' ? ' is-moderated' : '' }}{{ $thread.discussion_state == 'deleted' ? ' is-deleted' : '' }} js-inlineModContainer js-threadListItem-{$thread.thread_id}" data-author="{{ $thread.User.username ?: $thread.username }}">
        <div class="structItem-cell structItem-cell--icon">
            <div class="structItem-iconContainer">
                <xf:if is="$xf.visitor.isIgnoring($thread.last_post_user_id) OR $thread.discussion_type == 'redirect'">
                    <xf:avatar user="{{ null }}" size="s" />
                <xf:else />
                    <xf:avatar user="{$thread.LastPoster}" defaultname="{$thread.last_post_username}" size="s" />
                </xf:if>
                
            </div>
        </div>
        <div class="structItem-cell structItem-cell--main" data-xf-init="touch-proxy">
            <xf:if contentcheck="true">
                <ul class="structItem-statuses">
                <xf:contentcheck>
                    <xf:if is="property('reactionSummaryOnLists') == 'status' && $thread.first_post_reactions">
                        <li><xf:reactions summary="true" reactions="{$thread.first_post_reactions}" /></li>
                    </xf:if>
                    <xf:if is="$thread.discussion_state == 'moderated'">
                        <li>
                            <i class="structItem-status structItem-status--moderated" aria-hidden="true" title="{{ phrase('awaiting_approval')|for_attr }}"></i>
                            <span class="u-srOnly">{{ phrase('awaiting_approval') }}</span>
                        </li>
                    </xf:if>
                    <xf:if is="$thread.discussion_state == 'deleted'">
                        <li>
                            <i class="structItem-status structItem-status--deleted" aria-hidden="true" title="{{ phrase('deleted')|for_attr }}"></i>
                            <span class="u-srOnly">{{ phrase('deleted') }}</span>
                        </li>
                    </xf:if>
                    <xf:if is="!$thread.discussion_open">
                        <li>
                            <i class="structItem-status structItem-status--locked" aria-hidden="true" title="{{ phrase('locked')|for_attr }}"></i>
                            <span class="u-srOnly">{{ phrase('locked') }}</span>
                        </li>
                    </xf:if>
                    <xf:if is="$thread.discussion_type == 'redirect'">
                        <li>
                            <i class="structItem-status structItem-status--redirect" aria-hidden="true" title="{{ phrase('redirect')|for_attr }}"></i>
                            <span class="u-srOnly">{{ phrase('redirect') }}</span>
                        </li>
                    <xf:elseif is="$thread.discussion_type == 'poll'" />
                        <li>
                            <i class="structItem-status structItem-status--poll" aria-hidden="true" title="{{ phrase('poll')|for_attr }}"></i>
                            <span class="u-srOnly">{{ phrase('poll') }}</span>
                        </li>
                    </xf:if>
                    <xf:if is="$thread.sticky">
                        <li>
                            <i class="structItem-status structItem-status--sticky" aria-hidden="true" title="{{ phrase('sticky')|for_attr }}"></i>
                            <span class="u-srOnly">{{ phrase('sticky') }}</span>
                        </li>
                    </xf:if>
                    <xf:if is="{$showWatched} AND {$xf.visitor.user_id}">
                        <xf:if is="{$thread.Watch.{$xf.visitor.user_id}}">
                            <li>
                                <i class="structItem-status structItem-status--watched" aria-hidden="true" title="{{ phrase('thread_watched')|for_attr }}"></i>
                                <span class="u-srOnly">{{ phrase('thread_watched') }}</span>
                            </li>
                        <xf:elseif is="!$forum AND {$thread.Forum.Watch.{$xf.visitor.user_id}}" />
                            <li>
                                <i class="structItem-status structItem-status--watched" aria-hidden="true" title="{{ phrase('forum_watched')|for_attr }}"></i>
                                <span class="u-srOnly">{{ phrase('forum_watched') }}</span>
                            </li>
                        </xf:if>
                    </xf:if>
                </xf:contentcheck>
                </ul>
            </xf:if>

            <div class="structItem-title">
                <xf:set var="$canPreview" value="{{ $thread.canPreview() }}" />
                <xf:if is="$thread.prefix_id">
                    <xf:if is="$forum">
                        <a href="{{ link('forums', $forum, {'prefix_id': $thread.prefix_id}) }}" class="labelLink" rel="nofollow">{{ prefix('thread', $thread, 'html', '') }}</a>
                    <xf:else />
                        {{ prefix('thread', $thread, 'html', '') }}
                    </xf:if>
                </xf:if>
                <a href="{{ link('threads' . (($thread.isUnread() AND !$forceRead) ? '/unread' : ''), $thread) }}" class="" data-tp-primary="on" data-xf-init="{{ $canPreview ? 'preview-tooltip' : '' }}" data-preview-url="{{ $canPreview ? link('threads/preview', $thread) : '' }}">{$thread.title}</a>
            </div>

            <div class="structItem-minor">
                <xf:if contentcheck="true">
                    <ul class="structItem-extraInfo">
                    <xf:contentcheck>
                        <xf:if is="property('reactionSummaryOnLists') == 'minor_opposite' && $thread.first_post_reactions">
                            <li><xf:reactions summary="true" reactions="{$thread.first_post_reactions}" /></li>
                        </xf:if>
                        <xf:if is="{$extraInfo}">
                            <li>{$extraInfo}</li>
                        <xf:elseif is="$allowEdit AND $thread.canEdit() AND $thread.canUseInlineModeration()" />
                            <xf:if is="!$allowInlineMod OR !$forum">
                                <xf:set var="$editParams" value="{{ {
                                    '_xfNoInlineMod': !$allowInlineMod ? 1 : null,
                                     '_xfForumName': !$forum ? 1 : 0
                                } }}" />
                            <xf:else />
                                <xf:set var="$editParams" value="{{ [] }}" />
                            </xf:if>
                            <xf:if is="$thread.discussion_type != 'redirect'">
                                <li class="structItem-extraInfoMinor">
                                    <a href="{{ link('threads/edit', $thread) }}" data-xf-click="overlay" data-cache="false" data-href="{{ link('threads/edit', $thread, $editParams) }}">
                                        {{ phrase('edit') }}
                                    </a>
                                </li>
                            </xf:if>
                        </xf:if>
                        <xf:if is="$chooseName">
                            <li><xf:checkbox standalone="true">
                                <xf:option name="{$chooseName}[]" value="{$thread.thread_id}" class="js-chooseItem" />
                            </xf:checkbox></li>
                        <xf:elseif is="$allowInlineMod AND $thread.canUseInlineModeration()" />
                            <li><xf:checkbox standalone="true">
                                <xf:option value="{$thread.thread_id}" class="js-inlineModToggle"
                                    data-xf-init="tooltip"
                                    title="{{ phrase('select_for_moderation') }}"
                                    label="{{ phrase('select_for_moderation') }}"
                                    hiddenlabel="true"
                                />
                            </xf:checkbox></li>
                        </xf:if>
                    </xf:contentcheck>
                    </ul>
                </xf:if>

                <xf:if is="$thread.discussion_state == 'deleted'">
                    <xf:if is="{$extraInfo}"><span class="structItem-extraInfo">{$extraInfo}</span></xf:if>

                    <xf:macro template="deletion_macros" name="notice" arg-log="{$thread.DeletionLog}" />
                <xf:else />
                    <ul class="structItem-parts">
                        <li><xf:username user="$thread.User" defaultname="{$thread.username}" /></li>
                        <li class="structItem-startDate"><a href="{{ link('threads', $thread) }}" rel="nofollow"><xf:date time="{$thread.post_date}" /></a></li>
                        <xf:if is="!$forum">
                            <li><a href="{{ link('forums', $thread.Forum) }}">{$thread.Forum.title}</a></li>
                        </xf:if>
                    </ul>

                    <xf:if is="$thread.discussion_type != 'redirect' && $thread.reply_count >= $xf.options.messagesPerPage && $xf.options.lastPageLinks">
                        <span class="structItem-pageJump">
                        <xf:foreach loop="{{ last_pages($thread.reply_count + 1, $xf.options.messagesPerPage, $xf.options.lastPageLinks) }}" value="$p">
                            <a href="{{ link('threads', $thread, {'page': $p}) }}">{$p}</a>
                        </xf:foreach>
                        </span>
                    </xf:if>
                </xf:if>
            </div>
        </div>
        <div class="structItem-cell structItem-cell--meta" title="{{ phrase('first_message_reaction_score:')|for_attr }} {$thread.first_post_reaction_score|number}">
            <dl class="pairs pairs--justified">
                <dt>{{ phrase('replies') }}</dt>
                <dd>{{ $thread.discussion_type == 'redirect' ? '&ndash;' : $thread.reply_count|number_short }}</dd>
            </dl>
            <dl class="pairs pairs--justified structItem-minor">
                <dt>{{ phrase('views') }}</dt>
                <dd>{{ $thread.discussion_type == 'redirect' ? '&ndash;' : ($thread.view_count > $thread.reply_count ? $thread.view_count|number_short : number_short($thread.reply_count+1)) }}</dd>
            </dl>
        </div>
        <div class="structItem-cell structItem-cell--latest">
            <xf:if is="$thread.discussion_type == 'redirect'">
                {{ phrase('n_a') }}
            <xf:else />
                <a href="{{ link('threads/latest', $thread) }}" rel="nofollow"><xf:date time="{$thread.last_post_date}" class="structItem-latestDate" /></a>
                <div class="structItem-minor">
                    <xf:if is="$xf.visitor.isIgnoring($thread.last_post_user_id)">
                        {{ phrase('ignored_member') }}
                    <xf:else />
                        <xf:username user="{$thread.LastPoster}" defaultname="{$thread.last_post_username}" />
                    </xf:if>
                </div>
            </xf:if>
        </div>
        <div class="structItem-cell structItem-cell--icon structItem-cell--iconEnd">
            <div class="structItem-iconContainer">
                <xf:avatar user="$thread.User" size="xxs" defaultname="{$thread.username}" />
                <xf:if is="$thread.getUserPostCount()">
                    <xf:avatar user="$xf.visitor" size="xxs"
                        href=""
                        class="avatar--separated structItem-secondaryIcon"
                        tabindex="0"
                        data-xf-init="tooltip"
                        data-trigger="auto"
                        title="{{ phrase('you_have_posted_x_messages_in_this_thread', {'count': $thread.getUserPostCount() }) }}" />
                </xf:if>
            </div>
        </div>
    </div>
</xf:macro>

<xf:macro name="item_new_posts" arg-thread="!">
    <div class="contentRow">
        <div class="contentRow-figure">
            <xf:avatar user="$thread.LastPoster" size="xxs" defaultname="{$thread.last_post_username}" />
        </div>
        <div class="contentRow-main contentRow-main--close">
            <xf:if is="$thread.isUnread()">
                <a href="{{ link('threads/unread', $thread) }}">{{ prefix('thread', $thread) }}{$thread.title}</a>
            <xf:else />
                <a href="{{ link('threads/post', $thread, {'post_id': $thread.last_post_id}) }}">{{ prefix('thread', $thread) }}{$thread.title}</a>
            </xf:if>

            <div class="contentRow-minor contentRow-minor--hideLinks">
                <ul class="listInline listInline--bullet">
                    <li>{{ phrase('latest_x', {'name': $thread.last_post_cache.username}) }}</li>
                    <li><xf:date time="{$thread.last_post_date}" /></li>
                </ul>
            </div>
            <div class="contentRow-minor contentRow-minor--hideLinks">
                <a href="{{ link('forums', $thread.Forum) }}">{$thread.Forum.title}</a>
            </div>
        </div>
    </div>
</xf:macro>

<xf:macro name="item_new_threads" arg-thread="!">
    <div class="contentRow">
        <div class="contentRow-figure">
            <xf:avatar user="$thread.User" size="xxs" defaultname="{$thread.username}" />
        </div>
        <div class="contentRow-main contentRow-main--close">
            <a href="{{ link('threads', $thread) }}">{{ prefix('thread', $thread) }}{$thread.title}</a>

            <div class="contentRow-minor contentRow-minor--hideLinks">
                <ul class="listInline listInline--bullet">
                    <li>{{ phrase('started_by_x', {'name': $thread.username}) }}</li>
                    <li><xf:date time="{$thread.post_date}" /></li>
                    <li>{{ phrase('replies:') }} {$thread.reply_count|number_short}</li>
                </ul>
            </div>
            <div class="contentRow-minor contentRow-minor--hideLinks">
                <a href="{{ link('forums', $thread.Forum) }}">{$thread.Forum.title}</a>
            </div>
        </div>
    </div>
</xf:macro>

<xf:macro name="quick_thread"
    arg-forum="!"
    arg-page="1"
    arg-order="last_post_date"
    arg-direction="desc">

    <xf:css src="structured_list.less" />

    <xf:if is="$forum.canCreateThread()">

        <xf:js src="xf/thread.js" min="1" />

        <xf:set var="$inlineMode" value="{{ ($page == 1 && $order == 'last_post_date' && $direction == 'desc') ? true : false }}" />

        <xf:form action="{{ link('forums/post-thread', $forum, {'inline-mode': $inlineMode}) }}" class="structItem" ajax="true"
            draft="{{ link('forums/draft', $forum) }}"
            data-xf-init="quick-thread"
            data-focus-activate=".js-titleInput"
            data-focus-activate-href="{{ link('forums/post-thread', $forum, {'inline-mode': true}) }}"
            data-focus-activate-target=".js-quickThreadFields"
            data-insert-target=".js-threadList"
            data-replace-target=".js-emptyThreadList">

            <div class="structItem-cell structItem-cell--icon">
                <div class="structItem-iconContainer">
                    <xf:avatar user="$xf.visitor" size="s" />
                </div>
            </div>
            <div class="structItem-cell structItem-cell--newThread js-prefixListenContainer">

                <xf:formrow rowtype="noGutter noLabel fullWidth noPadding mergeNext"
                    label="{{ phrase('title') }}">

                    <xf:prefixinput maxlength="{{ max_length('XF:Thread', 'title') }}"
                        placeholder="{$forum.thread_prompt}"
                        title="{{ phrase('post_new_thread_in_this_forum') }}"
                        prefix-value="{$forum.default_prefix_id}"
                        type="thread"
                        prefixes="{{ $forum.getUsablePrefixes() }}"
                        data-xf-init="tooltip"
                        rows="1"/>
                </xf:formrow>

                <div class="js-quickThreadFields inserter-container is-hidden"><!--{{ phrase('loading...') }}--></div>
            </div>
        </xf:form>
    </xf:if>

</xf:macro>

thread_list_macros dosyası bu MusaPekel MusaPekel
 
MusaPekel MusaPekel tamam oldu kardeşim. birkaç kez daha denedim demekki benden kaynaklanan bir hata oldu. çok teşekkür ederim.sonunda istediğim gibi sonuç alabildim.

Allah razı olsun.
 
MusaPekel MusaPekel bilgisayarda her şey istediğim gibi gözüküyor.ama mobilde yani telefondan girince tarih kısmı solda gözüküyor ama bilgisayarda her şey istediğim gibi. çerezleri falan silip denedim telefonda falan farklı tarayıcıdan girdim denedim aynı. diğer düzeltmeler yansımış sadece tarih olayı yansımamış. (Dikey görünümde) Yatay görünümde yansıyor ama düzgün şekilde. Dikey görünümde sadece soldaki kısımlar gözüküyor kullanıcı resmi,kullanıcı ismi güncellediğimiz şekilde ama tarih/saat sadece yatayda çalışıyor bilmem anlatabildim mi?
 
Benim için oldukça önemli olan bir sorundu. Oldukça makbule geçti MusaPekel MusaPekel arkadaşımızın özel ilgisiyle konuyu çözdük. Kendisine çok teşekkür ediyorum.
 
MusaPekel MusaPekel bilgisayarda her şey istediğim gibi gözüküyor.ama mobilde yani telefondan girince tarih kısmı solda gözüküyor ama bilgisayarda her şey istediğim gibi. çerezleri falan silip denedim telefonda falan farklı tarayıcıdan girdim denedim aynı. diğer düzeltmeler yansımış sadece tarih olayı yansımamış. (Dikey görünümde) Yatay görünümde yansıyor ama düzgün şekilde. Dikey görünümde sadece soldaki kısımlar gözüküyor kullanıcı resmi,kullanıcı ismi güncellediğimiz şekilde ama tarih/saat sadece yatayda çalışıyor bilmem anlatabildim mi?

Bu hatanı kaynağı çözümü aşağıda ki gibidir.

CSS:
@media (max-width: 480px) {
.structItem-parts .structItem-startDate {
    display: inherit !important;
    }
}
@media (max-width:650px){
    .structItem-cell.structItem-cell--latest time.u-dt {
    display: none;
}
}
 

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.