Other 2x Tabbed Options - Tùy chọn Tabbed

PVS

Super Moderator
Thành viên BQT
Tham gia
28/02/2015
Bài viết
16,829
Được Like
12,691
Tabbed Options - Tùy chọn Tabbed cho XenForo 2.x

Hướng dẫn này sẽ cho phép bạn có một nhóm tùy chọn duy nhất cho tất cả các lựa chọn của bạn, tách chúng thành các phần có tab thay vì buộc người dùng phải thay đổi các nhóm tùy chọn.

Ví dụ:

seCavTn.png


rkOGe23.png

Code Event Listener
Event: templater_macro_pre_render
Event Hint: admin:eek:ption_macros:eek:ption_form_block
Execute Callback: Your\Namespace\XenForo2\EventListener\MacroRender :: preRender
PHP Code:
Mã:
<?php

namespace Your\Namespace\XenForo2\EventListener;

class MacroRender
{
    public static function preRender(\XF\Template\Templater $templater, &$type, &$template, &$name, array &$arguments, array &$globalVars)
    {
        if ($arguments['group']->group_id == 'your_group')
        {
            // Override template name
            $template = 'your_namespace_option_macros';
        }
    }
}

Admin Template
Template Name: your_namespace_option_macros
Template Contents:
Mã:
<xf:macro name="option_form_block" arg-group="" arg-options="!" arg-containerBeforeHtml="">
    <xf:if is="$options is not empty">
        <xf:form action="{{ link('options/update') }}" ajax="true" class="block">
            {$containerBeforeHtml|raw}
            <div class="block-container">
                <h2 class="block-tabHeader tabs" data-xf-init="tabs" role="tablist">
                    <a class="tabs-tab is-active" role="tab" tabindex="0" aria-controls="generalOptions">{{ phrase('general_options') }}</a>
                    <a class="tabs-tab" role="tab" tabindex="0" aria-controls="moreOptions">{{ phrase('your_namespace_more_options') }}</a>
                    <a class="tabs-tab" role="tab" tabindex="0" aria-controls="evenMoreOptions">{{ phrase('your_namespace_even_more_options') }}</a>
                </h2>
                <ul class="tabPanes">
                    <li class="is-active" role="tabpanel" id="generalOptions">
                        <div class="block-body">
                            <xf:foreach loop="$options" value="$option">
                            <xf:if is="$option.Relations.your_group.display_order < 200">
                                <xf:macro template="option_macros" name="option_row" arg-group="{$group}" arg-option="{$option}" />
                            </xf:if>
                            </xf:foreach>
                        </div>
                    </li>
                    <li role="tabpanel" id="moreOptions">
                        <div class="block-body">
                            <xf:foreach loop="$options" value="$option">
                            <xf:if is="$option.Relations.your_group.display_order >= 200 AND $option.Relations.your_group.display_order < 300">
                                <xf:macro template="option_macros" name="option_row" arg-group="{$group}" arg-option="{$option}" />
                            </xf:if>
                            </xf:foreach>
                        </div>
                    </li>
                    <li role="tabpanel" id="evenMoreOptions">
                        <div class="block-body">
                            <xf:foreach loop="$options" value="$option">
                            <xf:if is="$option.Relations.your_group.display_order >= 300 AND $option.Relations.your_group.display_order < 400">
                                <xf:macro template="option_macros" name="option_row" arg-group="{$group}" arg-option="{$option}" />
                            </xf:if>
                            </xf:foreach>
                        </div>
                    </li>
                </ul>
                <xf:submitrow sticky="true" icon="save" />
            </div>
        </xf:form>
    </xf:if>
</xf:macro>

  • Thay thế tất cả các trường của your_group với ID nhóm tuỳ chọn bạn đã sử dụng.
  • Thay thế tất cả các trường trong Your\Namespace hoặc your_namespace bằng namespace có liên quan mà bạn sử dụng.
  • Tôi đã chọn để tách các tùy chọn cho mỗi 100 thứ tự hiển thị, nhưng bạn có thể chỉnh sửa HTML và thực hiện nó nếu bạn thích
Chúc các bạn thành công.


Nguồn: xenforo.com​
 
  • Like
Reactions: THB

Hướng dẫn sử dụng

XenForo 1 XenForo 2
Translate by PVS

Dịch vụ XenForo của VNXF

Mobile/Zalo: 0906081284

Telegram: anhanhxf

Chỉ nhận web nội dung lành mạnh

Nhà Tài Trợ

Mút Xốp Không Gian
Mút Sofa Không Gian
Top Bottom