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!
XF2 - [XenGenTr]  Sabit konuları normalden ayır - XenSticky thread

XF 2.0 Eklenti XF2 - [XenGenTr] Sabit konuları normalden ayır - XenSticky thread 1.0.3

Bu eklenti, add-ons XenForo 2.0.X ile uyumlu ve stabil olarak çalışmaktadır.
Eklentiyi yükledikten sonra ayar yapmamız gerekiyor mu? standart temada konular ayrıldı ama kullandığım temada ayrılmadı.
 
Eklentiyi yükledikten sonra ayar yapmamız gerekiyor mu? standart temada konular ayrıldı ama kullandığım temada ayrılmadı.
Şablonlar kısmına girip kullandığınız temayı seçerek ayar yapmanız gerekiyor.
 

Ekli dosyalar

  • Screenshot_5.jpg
    Screenshot_5.jpg
    100.4 KB · Görüntüleme: 29
yaptım ayarları hocam ama default temada var kullandığım temada gözükmüyor. ne yapmam gerekli ki?
Bu tür eklentiler "temada bul değiştir" mantığıyla çalışır. Eklentinin bulması gereken kod temada modifiye edildiyse doğal olarak eklenti yapması gerekeni yapamayacak. Onun için manuel düzenleme yapmak gerekecek.
 
Bu tür eklentiler "temada bul değiştir" mantığıyla çalışır. Eklentinin bulması gereken kod temada modifiye edildiyse doğal olarak eklenti yapması gerekeni yapamayacak. Onun için manuel düzenleme yapmak gerekecek.
nasıl müdahale edebilirim peki? Hangi şablonları kontrol etmem gerek.
 
Temanızın forum_view şablonunu buraya ekler misiniz?

Şu şekilde

Kod:
<xf:title page="{$page}">{$forum.Node.title}</xf:title>
<xf:description>{$forum.Node.description|raw}</xf:description>

<xf:macro template="metadata_macros" name="canonical_url"
    arg-canonicalUrl="{{ link('canonical:forums', $forum, $canonicalFilters + {'page': $page}) }}" />

<xf:head option="rss_forum"><link rel="alternate" type="application/rss+xml" title="{{ phrase('rss_feed_for_x', {'title': $forum.title})|for_attr }}" href="{{ link('forums/index.rss', $forum) }}" /></xf:head>

<xf:macro template="forum_macros" name="forum_page_options" arg-forum="{$forum}" />
<xf:breadcrumb source="$forum.getBreadcrumbs(false)" />

<xf:pageaction if="$forum.canCreateThread()">
    <xf:button href="{{ link('forums/post-thread', $forum) }}" class="button--cta" icon="write">
        {{ phrase('post_thread') }}
    </xf:button>
</xf:pageaction>

<xf:if is="$pendingApproval">
    <div class="blockMessage blockMessage--important">{{ phrase('content_submitted_displayed_pending_approval') }}</div>
</xf:if>

<xf:if is="$nodeTree">
    <xf:ad position="forum_view_above_node_list" arg-forum="{$forum}" />
    <div class="block">
        <div class="block-container">
            <div class="block-body">
                <xf:macro template="forum_list" name="node_list"
                    arg-children="{$nodeTree}"
                    arg-extras="{$nodeExtras}"
                    arg-depth="2" />
            </div>
        </div>
    </div>
    <xf:ad position="forum_view_below_node_list" arg-forum="{$forum}" />
</xf:if>

<xf:if is="$canInlineMod">
    <xf:js src="xf/inline_mod.js" min="1" />
</xf:if>

<xf:ad position="forum_view_above_thread_list" arg-forum="{$forum}" />
<div class="block" data-xf-init="{{ $canInlineMod ? 'inline-mod' : '' }}" data-type="thread" data-href="{{ link('inline-mod') }}">

    <div class="block-outer"><xf:trim>
        <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$total}"
            link="forums" data="{$forum}" params="{$filters}"
            wrapperclass="block-outer-main" />
        <xf:if contentcheck="true">
            <div class="block-outer-opposite">
                <div class="buttonGroup">
                <xf:contentcheck>
                    <xf:if is="$canInlineMod">
                        <xf:macro template="inline_mod_macros" name="button" />
                    </xf:if>
                    <xf:if is="$xf.visitor.user_id">
                        <xf:button href="{{ link('forums/mark-read', $forum, {'date': $xf.time}) }}"
                            class="button--link" overlay="true">
                            {{ phrase('mark_read') }}
                        </xf:button>
                    </xf:if>
                    <xf:if is="$forum.canWatch()">
                        <xf:button href="{{ link('forums/watch', $forum) }}" class="button--link"
                            data-xf-click="switch-overlay"
                            data-sk-watch="{{ phrase('watch') }}"
                            data-sk-unwatch="{{ phrase('unwatch') }}">
                            <xf:if is="{$forum.Watch.{$xf.visitor.user_id}}">{{ phrase('unwatch') }}<xf:else />{{ phrase('watch') }}</xf:if>
                        </xf:button>
                    </xf:if>
                </xf:contentcheck>
                </div>
            </div>
        </xf:if>
    </xf:trim></div>

    <xf:set var="$dateLimits" value="{{ {
        '-1': phrase('any_time'),
        '7': phrase('x_days', {'days': '7'}),
        '14': phrase('x_days', {'days': '14'}),
        '30': phrase('x_days', {'days': '30'}),
        '60': phrase('x_months', {'months': '2'}),
        '90': phrase('x_months', {'months': '3'}),
        '182': phrase('x_months', {'months': '6'}),
        '365': phrase('1_year')
    } }}" />
    <xf:set var="$sortOrders" value="{{ {
        'last_post_date': phrase('last_message'),
        'post_date': phrase('first_message'),
        'title': phrase('title'),
        'reply_count': phrase('replies'),
        'view_count': phrase('views'),
        'first_post_likes': phrase('first_message_likes')
    } }}" />

    <div class="block-container">
        <div class="block-filterBar">
            <div class="filterBar">
                <xf:if contentcheck="true">
                    <ul class="filterBar-filters">
                    <xf:contentcheck>
                        <xf:if is="$filters.prefix_id">
                            <li><a href="{{ link('forums', $forum, $filters|replace('prefix_id', null)) }}"
                                class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}">
                                <span class="filterBar-filterToggle-label">{{ phrase('prefix:') }}</span>
                                {{ prefix_title('thread', $filters.prefix_id) }}</a></li>
                        </xf:if>
                        <xf:if is="$filters.starter_id AND $starterFilter">
                            <li><a href="{{ link('forums', $forum, $filters|replace('starter_id', null)) }}"
                                class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}">
                                <span class="filterBar-filterToggle-label">{{ phrase('started_by:') }}</span>
                                {$starterFilter.username}</a></li>
                        </xf:if>
                        <xf:if is="$filters.last_days AND {$dateLimits.{$filters.last_days}}">
                            <li><a href="{{ link('forums', $forum, $filters|replace('last_days', null)) }}"
                                class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}">
                                <span class="filterBar-filterToggle-label">{{ phrase('last_updated:') }}</span>
                                {$dateLimits.{$filters.last_days}}</a></li>
                        </xf:if>
                        <xf:if is="$filters.order AND {$sortOrders.{$filters.order}}">
                            <li><a href="{{ link('forums', $forum, $filters|replace({'order': null, 'direction': null})) }}"
                                class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('return_to_default_order')|for_attr }}">
                                <span class="filterBar-filterToggle-label">{{ phrase('sort_by:') }}</span>
                                {$sortOrders.{$filters.order}}
                                <i class="fa {{ $filters.direction == 'asc' ? 'fa-angle-up' : 'fa-angle-down' }}" aria-hidden="true"></i>
                                <span class="u-srOnly"><xf:if is="$filters.direction == 'asc'">{{ phrase('ascending') }}<xf:else />{{ phrase('descending') }}</xf:if></span>
                            </a></li>
                        </xf:if>
                    </xf:contentcheck>
                    </ul>
                </xf:if>

                <a class="filterBar-menuTrigger" data-xf-click="menu" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">{{ phrase('filters') }}</a>
                <div class="menu menu--wide" data-menu="menu" aria-hidden="true"
                    data-href="{{ link('forums/filters', $forum, $filters) }}"
                    data-load-target=".js-filterMenuBody">
                    <div class="menu-content">
                        <h4 class="menu-header">{{ phrase('show_only:') }}</h4>
                        <div class="js-filterMenuBody">
                            <div class="menu-row">{{ phrase('loading...') }}</div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <xf:set var="$qtPos">{{ ($sortInfo.order == 'last_post_date' && $sortInfo.direction == 'asc') ? 'bottom' : 'top' }}</xf:set>

        <div class="block-body">
            <div class="structItemContainer">
                <xf:macro template="thread_list_macros" name="quick_thread"
                    arg-forum="{$forum}"
                    arg-page="{$page}"
                    arg-order="{$sortInfo.order}"
                    arg-direction="{$sortInfo.direction}" />
                <xf:if is="$stickyThreads is not empty OR $threads is not empty">
                    <xf:if is="$stickyThreads is not empty">
                        <div class="structItemContainer-group structItemContainer-group--sticky">
                            <xf:foreach loop="$stickyThreads" value="$thread">
                                <xf:macro template="thread_list_macros" name="item" arg-thread="{$thread}" arg-forum="{$forum}" />
                            </xf:foreach>
                        </div>

                        <xf:if is="property('dt_seperate_sticky_threads')">
                            <xf:if is="{$stickyThreads}">
                                <hr class="stickySeparator"/>
                            </xf:if>
                        </xf:if>
                        
                        <xf:ad position="forum_view_below_stickies" arg-forum="{$forum}" />
                    </xf:if>

                    <div class="structItemContainer-group js-threadList">
                        <xf:if is="$threads is not empty">
                            <xf:foreach loop="$threads" value="$thread">
                                <xf:macro template="thread_list_macros" name="item" arg-thread="{$thread}" arg-forum="{$forum}" />
                            </xf:foreach>
                            <xf:if is="$showDateLimitDisabler">
                                <div class="structItem structItem--note">
                                    <div class="structItem-cell">
                                        <a href="{{ link('forums', $forum, $filters + {'page': $page, 'no_date_limit': 1}) }}">
                                            {{ phrase('show_older_items') }}
                                        </a>
                                    </div>
                                </div>
                            </xf:if>
                        </xf:if>
                    </div>
                <xf:elseif is="$filters" />
                    <div class="structItemContainer-group js-threadList">
                        <div class="structItem js-emptyThreadList">
                            <div class="structItem-cell">{{ phrase('there_no_threads_matching_your_filters') }}</div>
                        </div>
                    </div>
                <xf:else />
                    <div class="structItemContainer-group js-threadList">
                        <div class="structItem js-emptyThreadList">
                            <div class="structItem-cell">{{ phrase('there_no_threads_in_this_forum') }}</div>
                        </div>
                    </div>
                </xf:if>
            </div>
        </div>
    </div>

    <div class="block-outer block-outer--after">
        <xf:pagenav
            page="{$page}" perpage="{$perPage}" total="{$total}"
            link="forums" data="{$forum}" params="{$filters}"
            wrapperclass="block-outer-main" />
        <xf:showignored wrapperclass="block-outer-opposite" />
        <xf:if is="!$forum.canCreateThread()">
            <div class="block-outer-opposite">
                <xf:if is="$xf.visitor.user_id">
                    <span class="button is-disabled">
                        {{ phrase('no_permission_to_post') }}
                        <!-- this is not interactive so shouldn't be a button element -->
                    </span>
                <xf:else />
                    <xf:button href="{{ link('login') }}" class="button--link" overlay="true">
                        {{ phrase('log_in_or_register_to_post') }}
                    </xf:button>
                </xf:if>
            </div>
        </xf:if>
    </div>
</div>
<xf:ad position="forum_view_below_thread_list" arg-forum="{$forum}" />

<xf:widgetpos id="forum_view_sidebar" context-forum="{$forum}" position="sidebar" />
 
Şunu bir deneyin.

HTML:
<xf:title page="{$page}">{$forum.Node.title}</xf:title>
<xf:description>{$forum.Node.description|raw}</xf:description>

<xf:macro template="metadata_macros" name="canonical_url"
    arg-canonicalUrl="{{ link('canonical:forums', $forum, $canonicalFilters + {'page': $page}) }}" />

<xf:head option="rss_forum"><link rel="alternate" type="application/rss+xml" title="{{ phrase('rss_feed_for_x', {'title': $forum.title})|for_attr }}" href="{{ link('forums/index.rss', $forum) }}" /></xf:head>

<xf:macro template="forum_macros" name="forum_page_options" arg-forum="{$forum}" />
<xf:breadcrumb source="$forum.getBreadcrumbs(false)" />

<xf:pageaction if="$forum.canCreateThread()">
    <xf:button href="{{ link('forums/post-thread', $forum) }}" class="button--cta" icon="write">
        {{ phrase('post_thread') }}
    </xf:button>
</xf:pageaction>

<xf:if is="$pendingApproval">
    <div class="blockMessage blockMessage--important">{{ phrase('content_submitted_displayed_pending_approval') }}</div>
</xf:if>

<xf:if is="$nodeTree">
    <xf:ad position="forum_view_above_node_list" arg-forum="{$forum}" />
    <div class="block">
        <div class="block-container">
            <div class="block-body">
                <xf:macro template="forum_list" name="node_list"
                    arg-children="{$nodeTree}"
                    arg-extras="{$nodeExtras}"
                    arg-depth="2" />
            </div>
        </div>
    </div>
    <xf:ad position="forum_view_below_node_list" arg-forum="{$forum}" />
</xf:if>

<xf:if is="$canInlineMod">
    <xf:js src="xf/inline_mod.js" min="1" />
</xf:if>

<xf:ad position="forum_view_above_thread_list" arg-forum="{$forum}" />
<div class="block" data-xf-init="{{ $canInlineMod ? 'inline-mod' : '' }}" data-type="thread" data-href="{{ link('inline-mod') }}">

    <div class="block-outer"><xf:trim>
        <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$total}"
            link="forums" data="{$forum}" params="{$filters}"
            wrapperclass="block-outer-main" />
        <xf:if contentcheck="true">
            <div class="block-outer-opposite">
                <div class="buttonGroup">
                <xf:contentcheck>
                    <xf:if is="$canInlineMod">
                        <xf:macro template="inline_mod_macros" name="button" />
                    </xf:if>
                    <xf:if is="$xf.visitor.user_id">
                        <xf:button href="{{ link('forums/mark-read', $forum, {'date': $xf.time}) }}"
                            class="button--link" overlay="true">
                            {{ phrase('mark_read') }}
                        </xf:button>
                    </xf:if>
                    <xf:if is="$forum.canWatch()">
                        <xf:button href="{{ link('forums/watch', $forum) }}" class="button--link"
                            data-xf-click="switch-overlay"
                            data-sk-watch="{{ phrase('watch') }}"
                            data-sk-unwatch="{{ phrase('unwatch') }}">
                            <xf:if is="{$forum.Watch.{$xf.visitor.user_id}}">{{ phrase('unwatch') }}<xf:else />{{ phrase('watch') }}</xf:if>
                        </xf:button>
                    </xf:if>
                </xf:contentcheck>
                </div>
            </div>
        </xf:if>
    </xf:trim></div>

    <xf:set var="$dateLimits" value="{{ {
        '-1': phrase('any_time'),
        '7': phrase('x_days', {'days': '7'}),
        '14': phrase('x_days', {'days': '14'}),
        '30': phrase('x_days', {'days': '30'}),
        '60': phrase('x_months', {'months': '2'}),
        '90': phrase('x_months', {'months': '3'}),
        '182': phrase('x_months', {'months': '6'}),
        '365': phrase('1_year')
    } }}" />
    <xf:set var="$sortOrders" value="{{ {
        'last_post_date': phrase('last_message'),
        'post_date': phrase('first_message'),
        'title': phrase('title'),
        'reply_count': phrase('replies'),
        'view_count': phrase('views'),
        'first_post_likes': phrase('first_message_likes')
    } }}" />

    <div class="block-container">
        <div class="block-filterBar">
            <div class="filterBar">
                <xf:if contentcheck="true">
                    <ul class="filterBar-filters">
                    <xf:contentcheck>
                        <xf:if is="$filters.prefix_id">
                            <li><a href="{{ link('forums', $forum, $filters|replace('prefix_id', null)) }}"
                                class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}">
                                <span class="filterBar-filterToggle-label">{{ phrase('prefix:') }}</span>
                                {{ prefix_title('thread', $filters.prefix_id) }}</a></li>
                        </xf:if>
                        <xf:if is="$filters.starter_id AND $starterFilter">
                            <li><a href="{{ link('forums', $forum, $filters|replace('starter_id', null)) }}"
                                class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}">
                                <span class="filterBar-filterToggle-label">{{ phrase('started_by:') }}</span>
                                {$starterFilter.username}</a></li>
                        </xf:if>
                        <xf:if is="$filters.last_days AND {$dateLimits.{$filters.last_days}}">
                            <li><a href="{{ link('forums', $forum, $filters|replace('last_days', null)) }}"
                                class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}">
                                <span class="filterBar-filterToggle-label">{{ phrase('last_updated:') }}</span>
                                {$dateLimits.{$filters.last_days}}</a></li>
                        </xf:if>
                        <xf:if is="$filters.order AND {$sortOrders.{$filters.order}}">
                            <li><a href="{{ link('forums', $forum, $filters|replace({'order': null, 'direction': null})) }}"
                                class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('return_to_default_order')|for_attr }}">
                                <span class="filterBar-filterToggle-label">{{ phrase('sort_by:') }}</span>
                                {$sortOrders.{$filters.order}}
                                <i class="fa {{ $filters.direction == 'asc' ? 'fa-angle-up' : 'fa-angle-down' }}" aria-hidden="true"></i>
                                <span class="u-srOnly"><xf:if is="$filters.direction == 'asc'">{{ phrase('ascending') }}<xf:else />{{ phrase('descending') }}</xf:if></span>
                            </a></li>
                        </xf:if>
                    </xf:contentcheck>
                    </ul>
                </xf:if>

                <a class="filterBar-menuTrigger" data-xf-click="menu" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">{{ phrase('filters') }}</a>
                <div class="menu menu--wide" data-menu="menu" aria-hidden="true"
                    data-href="{{ link('forums/filters', $forum, $filters) }}"
                    data-load-target=".js-filterMenuBody">
                    <div class="menu-content">
                        <h4 class="menu-header">{{ phrase('show_only:') }}</h4>
                        <div class="js-filterMenuBody">
                            <div class="menu-row">{{ phrase('loading...') }}</div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <xf:set var="$qtPos">{{ ($sortInfo.order == 'last_post_date' && $sortInfo.direction == 'asc') ? 'bottom' : 'top' }}</xf:set>

        <div class="block-body">
            <div class="structItemContainer">
                <xf:macro template="thread_list_macros" name="quick_thread"
                    arg-forum="{$forum}"
                    arg-page="{$page}"
                    arg-order="{$sortInfo.order}"
                    arg-direction="{$sortInfo.direction}" />
                <xf:if is="$stickyThreads is not empty OR $threads is not empty">
                    <xf:include template="XenStickyKonu" />

                    <div class="structItemContainer-group js-threadList">
                        <xf:if is="$threads is not empty">
                            <xf:foreach loop="$threads" value="$thread">
                                <xf:macro template="thread_list_macros" name="item" arg-thread="{$thread}" arg-forum="{$forum}" />
                            </xf:foreach>
                            <xf:if is="$showDateLimitDisabler">
                                <div class="structItem structItem--note">
                                    <div class="structItem-cell">
                                        <a href="{{ link('forums', $forum, $filters + {'page': $page, 'no_date_limit': 1}) }}">
                                            {{ phrase('show_older_items') }}
                                        </a>
                                    </div>
                                </div>
                            </xf:if>
                        </xf:if>
                    </div>
                <xf:elseif is="$filters" />
                    <div class="structItemContainer-group js-threadList">
                        <div class="structItem js-emptyThreadList">
                            <div class="structItem-cell">{{ phrase('there_no_threads_matching_your_filters') }}</div>
                        </div>
                    </div>
                <xf:else />
                    <div class="structItemContainer-group js-threadList">
                        <div class="structItem js-emptyThreadList">
                            <div class="structItem-cell">{{ phrase('there_no_threads_in_this_forum') }}</div>
                        </div>
                    </div>
                </xf:if>
            </div>
        </div>
    </div>

    <div class="block-outer block-outer--after">
        <xf:pagenav
            page="{$page}" perpage="{$perPage}" total="{$total}"
            link="forums" data="{$forum}" params="{$filters}"
            wrapperclass="block-outer-main" />
        <xf:showignored wrapperclass="block-outer-opposite" />
        <xf:if is="!$forum.canCreateThread()">
            <div class="block-outer-opposite">
                <xf:if is="$xf.visitor.user_id">
                    <span class="button is-disabled">
                        {{ phrase('no_permission_to_post') }}
                        <!-- this is not interactive so shouldn't be a button element -->
                    </span>
                <xf:else />
                    <xf:button href="{{ link('login') }}" class="button--link" overlay="true">
                        {{ phrase('log_in_or_register_to_post') }}
                    </xf:button>
                </xf:if>
            </div>
        </xf:if>
    </div>
</div>
<xf:ad position="forum_view_below_thread_list" arg-forum="{$forum}" />

<xf:widgetpos id="forum_view_sidebar" context-forum="{$forum}" position="sidebar" />
 

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.