• Добро пожаловать на сайт - Forumteam.men !

    Что бы просматривать темы форума необходимо зарегестрироваться или войти в свой аккаунт.

    Группа в телеграме (подпишитесь, что бы не потерять нас) - ForumTeam Chat [Подписатся]
    Связь с администратором - @ftmadmin

Добавляем вкладки в настройки плагина

Sam Jack

Опытный
Опытный
Регистрация
05.03.18
Сообщения
230
Реакции
56
Баллы
415
FTC
  • Автор темы
  • Заблокирован
  • #1
Обратите внимание, если вы планируете совершить сделку с этим пользователем, он заблокирован.
Совместимость с XenForo 2.0.x
Добавляем вкладки в настройки плагина

Для начала включаем режим отладки, добавив в файл /src/config.php следующую строку:
Код:
$config['debug'] = true;

Далее идём по пути: Панель управления - Разработка - Обработчики событий - И нажимаем сверху кнопку "Добавить новый обработчик события" - Заполняем поля так:
Обрабатывать событие: templater_macro_pre_render
Подсказка события:
Код:
admin:option_macros:option_form_block
Выполнить обработчик: Your\Namespace\XenForo2\EventListener\MacroRender :: preRender
PHP-код:
Код:
<?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';
        }
    }
}
Далее идём по пути: Панель управления - Внешний вид - Стили - Шаблоны - Напротив Мастер-стиля нажимаем на "Шаблоны" - Переключаемся на вкладку "Панель управления" - Нажимаем кнопку "Добавить шаблон" - Далее заполняем так:
Название шаблона: your_namespace_option_macros
Содержимое шаблона:
Код:
<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>
Не забудьте заменить все значения your_group на ID Вашей группы
Не забудьте заменить все значения Your\Namespace или your_namespace на свои

Ну и на выходе мы увидим что-то подобное:


image-png.20129



image2-png.20130
 
Сверху Снизу