ПЛАГИН xF2 [TH] UI.X Pro

1688060328128.png


UI.X Pro
Разработанный с идеальным подходом для вашего форума, чтобы улучшить взаимодействие с сообществом, предложить высококачественный пользовательский опыт и увеличить потенциал заработка. UI.X Pro - это совокупность наших знаний, полученных за более чем десятилетие помощи клиентам в создании процветающих сообществ и методов, используемых гигантами в индустрии социальных сетей. UI.X Pro располагает необходимыми инструментами и поддержкой для установки, настройки и настройки нами; основные дополнительные функции, которые ожидают ваши пользователи; и партнер, который продвигает идеи и помогает с вашим форумом.

Также данное дополнение необходимо для работы эксклюзивных стилей
  • UI.X Pro
  • UI.X Pro Dark

ИНСТРУКЦИИ Добавляем бота в статистику пользователей онлайн

В шаблоне
widget_members_online

Найти:
Код:
<xf:if is="$options.staffOnline">
    <xf:if contentcheck="true">
        <div class="block" data-widget-section="staffMembers"{{ widget_data($widget) }}>
            <div class="block-container">
                <h3 class="block-minorHeader"><a href="{{ link('members', null, {'key': 'staff_members'}) }}">{{ phrase('staff_online') }}</a></h3>
                <ul class="block-body">
                <xf:contentcheck>
                    <xf:foreach loop="$online.users" value="$user">
                        <xf:if is="$user.is_staff">
                            <li class="block-row">
                                <div class="contentRow">
                                    <div class="contentRow-figure">
                                        <xf:avatar user="$user" size="xs" />
                                    </div>
                                    <div class="contentRow-main contentRow-main--close">
                                        <xf:username user="$user" rich="true" />
                                        <div class="contentRow-minor">
                                            <xf:usertitle user="$user" />
                                        </div>
                                    </div>
                                </div>
                            </li>
                        </xf:if>
                    </xf:foreach>
                </xf:contentcheck>
                </ul>
            </div>
        </div>
    </xf:if>
</xf:if>

<div class="block" data-widget-section="onlineNow"{{ widget_data($widget) }}>
    <div class="block-container">
        <h3 class="block-minorHeader"><a href="{{ link('online') }}">{$title}</a></h3>
        <div class="block-body">
            <xf:if contentcheck="true">
                <div class="block-row block-row--minor">
                    <h4 class="block-textHeader block-textHeader--scaled">
                        {{ phrase('people_you_follow') }}
                    </h4>
                    <ul class="listHeap">
                        <xf:contentcheck>
                            <xf:if is="$options.followedOnline">
                                <xf:foreach loop="$online.users" value="$user">
                                    <xf:if is="in_array($user.user_id, $xf.visitor.Profile.following)">
                                        <li>
                                            <xf:avatar user="$user" size="xxs" img="true" />
                                        </li>
                                    </xf:if>
                                </xf:foreach>
                            </xf:if>
                        </xf:contentcheck>
                    </ul>
                </div>

                <div class="block-row block-row--minor">
                    <h4 class="block-textHeader block-textHeader--scaled">
                        {{ phrase('members') }}
                    </h4>
            <xf:else />
                <div class="block-row block-row--minor">
            </xf:if>

                <xf:if is="$online.users is not empty">
                    <ul class="listInline listInline--comma">
                        <xf:foreach loop="$online.users" value="$user"><xf:trim>
                            <li><xf:username user="$user" rich="true" class="{{ !$user.visible ? 'username--invisible' : '' }}" /></li>
                        </xf:trim></xf:foreach>
                    </ul>
                    <xf:if is="$online.counts.unseen">
                        <a href="{{ link('online') }}">{{ phrase('ellipsis_and_x_more', {'count': $online.counts.unseen}) }}</a>
                    </xf:if>
                <xf:else />
                    {{ phrase('no_members_online_now') }}
                </xf:if>
            </div>
        </div>
        <div class="block-footer">
            <span class="block-footer-counter">{{ phrase('online_now_x_members_y_guests_z',{
                'total': number($online.counts.total),
                'members': number($online.counts.members),
                'guests': number($online.counts.guests)})
            }}</span>
        </div>
    </div>
</div>

Заменить:
Код:
<xf:if is="$options.staffOnline">
    <xf:if contentcheck="true">
        <div class="block" data-widget-section="staffMembers"{{ widget_data($widget) }}>
            <div class="block-container">
                <h3 class="block-minorHeader"><a href="{{ link('members', null, {'key': 'staff_members'}) }}">{{ phrase('staff_online') }}</a></h3>
                <ul class="block-body">
                <xf:contentcheck>
                    <xf:foreach loop="$online.users" value="$user">
                        <xf:if is="$user.is_staff">
                            <li class="block-row">
                                <div class="contentRow">
                                    <div class="contentRow-figure">
                                        <xf:avatar user="$user" size="xs" />
                                    </div>
                                    <div class="contentRow-main contentRow-main--close">
                                        <xf:username user="$user" rich="true" />
                                        <div class="contentRow-minor">
                                            <xf:usertitle user="$user" />
                                        </div>
                                    </div>
                             <a href="/members/forum-bot.511/" class="avatar avatar--xs" data-user-id="511" data-xf-init="member-tooltip" id="js-XFUniqueId9">
                                <img src="/data/avatars/s/0/511.jpg?1532551894" srcset="/data/avatars/m/0/511.jpg?1532551894 2x" alt="Forum Bot" class="avatar-u9-s"style="border: 2px solid #ffffff; border-radius: 2px;">
                                    </a>
                                </div>
                            </li>
                        </xf:if>
                    </xf:foreach>
                </xf:contentcheck>
                </ul>
            </div>
        </div>
    </xf:if>
</xf:if>

<div class="block" data-widget-section="onlineNow"{{ widget_data($widget) }}>
    <div class="block-container">
        <h3 class="block-minorHeader"><a href="{{ link('online') }}">{$title}</a></h3>
        <div class="block-body">
            <xf:if contentcheck="true">
                <div class="block-row block-row--minor">
                    <h4 class="block-textHeader block-textHeader--scaled">
                        {{ phrase('people_you_follow') }}
                    </h4>
                    <ul class="listHeap">
                        <xf:contentcheck>
                            <xf:if is="$options.followedOnline">
                                <xf:foreach loop="$online.users" value="$user">
                                    <xf:if is="in_array($user.user_id, $xf.visitor.Profile.following)">
                                        <li>
                                            <xf:avatar user="$user" size="xxs" img="true" />
                                        </li>
                                    </xf:if>
                                </xf:foreach>
                            </xf:if>
                        </xf:contentcheck>
                    </ul>
                </div>

                <div class="block-row block-row--minor">
                    <h4 class="block-textHeader block-textHeader--scaled">
                        {{ phrase('members') }}
                    </h4>
            <xf:else />
                <div class="block-row block-row--minor">
            </xf:if>

                <xf:if is="$online.users is not empty">
                    <ul class="listInline listInline--comma">
                      <a href="/members/forum-bot.511/" class="username " dir="auto" data-user-id="511" data-xf-init="member-tooltip" id="js-XFUniqueId10"><span class="username--style12 username--staff">Forum Bot</span></a>
                                
                        <xf:foreach loop="$online.users" value="$user"><xf:trim>
                            <li><xf:username user="$user" rich="true" class="{{ !$user.visible ? 'username--invisible' : '' }}" /></li>
                        </xf:trim></xf:foreach>
                    </ul>
                    <xf:if is="$online.counts.unseen">
                        <a href="{{ link('online') }}">{{ phrase('ellipsis_and_x_more', {'count': $online.counts.unseen}) }}</a>
                    </xf:if>
                <xf:else />
                    {{ phrase('no_members_online_now') }}
                </xf:if>
            </div>
        </div>
        <div class="block-footer">
            <span class="block-footer-counter">{{ phrase('online_now_x_members_y_guests_z',{
                'total': number($online.counts.total),
                'members': number($online.counts.members),
                'guests': number($online.counts.guests)})
            }}</span>
        </div>
    </div>
</div>

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

<a href="/members/forum-bot.511/" class="username " dir="auto" data-user-id="511" data-xf-init="member-tooltip" id="js-XFUniqueId10"><span class="username--style12 username--staff">Forum Bot</span></a>
и аватар


<a href="/members/forum-bot.511/" class="avatar avatar--xs" data-user-id="511" data-xf-init="member-tooltip" id="js-XFUniqueId9">
<img src="/data/avatars/s/0/511.jpg?1532551894" srcset="/data/avatars/m/0/511.jpg?1532551894 2x" alt="Forum Bot" class="avatar-u9-s"style="border: 2px solid #ffffff; border-radius: 2px;">

ИНСТРУКЦИИ Как скомпилировать свои плагин в xenforo

Для компиляции своего плагина в XenForo необходимо выполнить следующие шаги:

  1. Убедитесь, что у вас установлены все необходимые инструменты для разработки на языке PHP.
  2. Создайте новую директорию в папке library вашего форума и назовите ее так же, как и ваш плагин.
  3. В этой директории создайте файл addon.xml, который будет содержать информацию о вашем плагине, его версии и авторе.
  4. Создайте файл Listener.php, который будет содержать код вашего плагина.
  5. Загрузите все файлы вашего плагина на сервер, в соответствующие директории.
  6. Откройте админ-панель вашего форума и перейдите в раздел "Add-ons".
  7. Найдите ваш плагин в списке и нажмите на кнопку "Install".
  8. После установки плагина вы можете настроить его параметры и активировать его.
  9. Если вы внесли изменения в код плагина, то для их применения необходимо перекомпилировать его. Для этого откройте терминал, перейдите в директорию вашего форума и выполните команду
    Код:
    php cmd.php xf-addon:build <id>
    где <id> - это идентификатор вашего плагина.
  10. После компиляции плагин будет готов к использованию с обновленным кодом.

ИНСТРУКЦИИ Условия переменных в шаблонах XenForo 2

Тег шаблона if можно использовать для условного отображения. Тег if может принимать следующие атрибуты:
  • is - Условие, при котором должно отображаться содержимое тегов.
Условия:
Атрибут is поддерживает несколько логических операторов:
  • OR - Логическое или. Альтернативное использование: ||
  • AND - Логическое и. Альтернативное использование &&
  • ! - Логическое отрицание (не).
  • XOR - Возвращает true, если верно только одно из двух условий. Исключающее или
Тег Else / Else-If
Теги else и else-if используются в сочетании с тегом if для условного отображения HTML в соответствии с предложением.

Тег For-each
Тег for-each позволяет зацикливать массив элементов, печатая блок HTML для каждого элемента.
Тег for-each принимает следующие атрибуты:
  • loop - Массив для зацикливания.
  • key - имя переменной, используемой в цикле для получения ключа массива текущего элемента. Может быть целым числом (обычный массив) или строкой (ассоциативный массив).
  • value- имя переменной для использования в цикле, содержащее текущий элемент массива.
  • i - Имя переменной для использования в цикле для текущего индекса. Не обязательный аттрибут

Как я могу отобразить содержимое только для администраторов в Xenforo?​

Код:
<xf:if is="{$xf.visitor.is_admin}">
Этот текст видят только администраторы
</xf:if>

Как я могу отобразить содержимое только для модераторов в Xenforo?​

Код:
<xf:if is="{$xf.visitor.is_moderator}">
Этот текст видят только модераторы
</xf:if>

Как я могу отобразить содержимое только для администраторов и модераторов в Xenforo?​

Код:
<xf:if is="{$xf.visitor.is_admin} AND {$xf.visitor.is_moderator}">
Этот текст видят только администраторы и модераторы
</xf:if>

Как я могу отобразить содержимое только для администраторов или модераторов в Xenforo?​

Код:
<xf:if is="{$xf.visitor.is_admin} OR {$xf.visitor.is_moderator}">
Этот текст видят только администраторы и модераторы
</xf:if>

Как я могу отобразить определенное содержимое для администраторов и пользователей в Xenforo?​

Код:
<xf:if is="$xf.visitor.is_admin">
Этот текст виден только администратором...
<xf:else />
Этот текст виден всем, кто не администратор
</xf:if>

Как я могу отобразить определенное содержимое для администраторов, модераторов и пользователей в Xenforo?​

Код:
<xf:if is="$xf.visitor.is_admin">
Этот текст виден только администратором...
<xf:elseif is="$xf.visitor.is_moderator" />
Этот текст будет показан только модераторам (исключая пользователей, которые также являются администраторами).
<xf:else />
Этот текст виден всем, кто не Администратор или Модератор.
</xf:if>

Как я могу отобразить содержимое только для зарегистрированных пользователей и скрыть его от гостей в Xenforo?​

Код:
<xf:if is="{$xf.visitor.user_id}">
Этот текст видят только зарегистрированные пользователи
</xf:if>

Как я могу отобразить содержимое только для гостей и скрыть его от зарегистрированных пользователей в Xenforo?​

Код:
<xf:if is="!{$xf.visitor.user_id}">
Этот текст видят только гости
</xf:if>

Как я могу отобразить разное содержимое для гостей и зарегистрированных пользователей в Xenforo?​

Код:
<xf:if is="{$xf.visitor.user_id}">
Этот текст видят только зарегистрированные пользователи
<xf:else />
Этот текст видят только гости
</xf:if>

Как убрать кнопку «Жалоба» в личном кабинете пользователя на самого себя в Xenforo?​

Создать модификацию​

/admin.php?template-modifications/add
Шаблон: member_view
Найти:
Код:
<xf:if is="$user.canBeReported()">
<xf:button href="{{ link('members/report', $user) }}"
class="button--link" overlay="true">
{{ phrase('report_verb') }}
</xf:button>
</xf:if>
Заменить:
Код:
<xf:if is="$xf.visitor != $user">
$0
</xf:if>

Как я могу отобразить содержимое только для конкретного пользователя в Xenforo?​

Код:
<xf:if is="{$xf.visitor.user_id} == x">
Этот текст видит только пользователь x
</xf:if>

Как я могу отобразить содержимое только для конкретных пользователей в Xenforo?​

Код:
<xf:if is="in_array({$xf.visitor.user_id}, ([x,y,z]))">
Этот текст видит только пользователь x,y,z
</xf:if>

Как я могу скрыть содержимое только для конкретного пользователя в Xenforo?​

Код:
<xf:if is="{$xf.visitor.user_id} != x">
Этот текст видят пользователи, кроме x
</xf:if>

Как я могу скрыть содержимое от конкретных пользователей в Xenforo?​

Код:
<xf:if is="!in_array({$xf.visitor.user_id}, ([x, y]))">
Этот текст видят только пользователи кроме x, y
</xf:if>

Как я могу отобразить содержимое только для пользователя с определенным именем в Xenforo?​

Код:
<xf:if is="{{ $xf.visitor.username == 'username' }}">
Этот текст видит только пользователь с именем username
</xf:if>

Как я могу отобразить содержимое только для пользователей с определенными именами в Xenforo?​

Код:
<xf:if is="{{ in_array($xf.visitor.username, ['username', '么 Nelegal', 'username', 'username']) }}">
Этот текст видит только пользователь с именем username, Captain, Hope или Mirovinger
</xf:if>

Как я могу отобразить содержимое только для тех пользователей, у которых есть аватар или граватар в Xenforo?​

Код:
<xf:if is="{$xf.visitor.avatar_date} OR {$xf.visitor.gravatar}">
Это содержимое могут видеть только те пользователи, которые установили себе аватар или граватар
</xf:if>

Как я могу отобразить содержимое для пользователей, у которых менее x сообщений в Xenforo?​

Код:
<xf:if is="{$xf.visitor.message_count} < x">
Этот текст будет показан только пользователям, у которых менее x сообщений
</xf:if>

Как я могу отобразить содержимое для пользователей, у которых более x сообщений в Xenforo?​

Код:
<xf:if is="{$xf.visitor.message_count} > x">
Этот текст будет показан только пользователям, у которых более x сообщений
</xf:if>

Если Вы хотите отобразить текст только для команды форума в Xenforo​

Код:
<xf:if is="{$xf.visitor.is_staff}">
Этот текст видят только участники команды форума.
</xf:if>

Если Вы хотите отобразить текст для заблокированных пользователей в Xenforo​

Код:
<xen:if is="{$xf.visitor.is_banned}">
Этот текст видят только заблокированные пользователи
</xen:if>

Если вы хотите отобразить текст нежелательному пользователю в Xenforo​

Код:
<xf:if is="{$xf.visitor.Option.is_discouraged}">
Этот текст видят только нежелательные пользователи.
</xf:if>

Как я могу отобразить содержимое только определённым группам пользователей в Xenforo?​

Код:
<xf:if is="{$xf.visitor.isMemberOf(x)}">
Этот текст видят только пользователи из группы x
</xf:if>

Код:
<xf:if is="{{ $xf.visitor.isMemberOf(x) }}">
Этот текст видят только пользователи из группы x
</xf:if>

Как я могу скрыть содержимое от определённых групп пользователей в Xenforo?​

Код:
<xf:if is="!{$xf.visitor.isMemberOf(x)}">
Данный текст скрыт от пользователей из группы x
</xf:if>

Как я могу отобразить содержимое нескольким определённым группам пользователей в Xenforo?​

Код:
<xf:if is="{$xf.visitor.isMemberOf([x, y])}">
Данный текст видят  только пользователи из групп x и/или y
</xf:if>

Как я могу скрыть содержимое от нескольких групп в Xenforo?​

Код:
<xf:if is="!{$xf.visitor.isMemberOf([x, y])}">
Данный текст не видят только пользователи из групп x и/или y
</xf:if>

Как я могу отобразить содержимое для нескольких конкретных пользователей в Xenforo?​

Код:
<xf:if is="in_array({$xf.visitor.user_id}, ([x, y, z]))">
Этот текст видят только пользователи x, y и z
</xf:if>

Как я могу отобразить содержимое для пользователей, у которых ноль сообщений в Xenforo?​

Код:
<xf:if is="{$xf.visitor.message_count} == 0">
Этот текст будет показан пользователям с 0 сообщений
</xf:if>

ИНСТРУКЦИИ Опции файла config.php в XenForo

Описание​

Данный мануал поможет вам быстро включить или отключить функцию на вашем форуме под управлением Xenforo. В этом мануале есть информация по файлу config.php, который является основным файлом настройки CMS Xenforo.

Путь файла: src/config.php
Все опции допускают только два значения true - включить, false - выключить.

Опции файла config.php в XenForo:​

$config['development']['enabled'] = true; - Дебаг режим.
$config['designer']['enabled'] = true; - Режим дизайнера.
$config['designer']['basePath'] = 'src' . \DIRECTORY_SEPARATOR . 'styles'; - Прямой путь к стилям форума для режима дизайнера.
$config['development']['fullJs'] = true; - Отвечает за JS-скрипты форума.
$config['enableMail'] = true; - Отвечает за почту на форуме.
$config['enableMailQueue'] = true; - Отвечает за очередь почты на форуме.
$config['enableListeners'] = true; - Отвечает за обработчики событий.
$config['enableTemplateModificationCallbacks'] = true; - Отвечает за модификации шаблонов в которых есть PHP-обработчик.
$config['enableGzip'] = true; - Отвечает за поддержку расширения Gzip (работа с архивами).
$config['enableContentLength'] = true; - Отвечает за HTTP-заголовок который отправляет форум (Content-Length).
$config['enableTfa'] = true; - Отвечает за двух-факторную аутентификацию.
$config['enableLivePayments'] = true; - Отвечает за обработку платежей.
$config['enableClickjackingProtection'] = true; - Отвечает за предотвращения кликджекинга, вредоносных сценариев. HTTP-Заголовок (X-Frame-Options: SAMEORIGIN).
$config['enableReverseTabnabbingProtection'] = true; - Отвечает за обработку фишинговых атак.
$config['enableApi'] = true; - Отвечает за доступ к API-форума.
$config['enableAddOnArchiveInstaller'] = false; - Отвечает за установку аддонов прямо с админки.
$config['enableOneClickUpgrade'] = true; - Отвечает за обновление прямо с админки, доступна только для пользователей с лицензией XenForo.

ИНСТРУКЦИИ Добавление вкладок быстрого доступа

1- Создайте шаблон, который вы назвали по своему усмотрению ( к примеру: Quick_access_tabs)

Код:
<div class="header-container">
     <div class="header-column">
  <a href="https://................." class="hov">
<div class="flex">
     <div class="onglet-l">
  <img class="max" src="https://i.goopics.net/iy1767.png">
</div>
<div class="onglet-r">
  Правила сайта<br><b>Правила</b>
     </div>
   </div>
  </a>
</div>
     <div class="header-column">
  <a href="https://..............." class="hov">
<div class="flex">
     <div class="actu-l">
  <img class="max" src="https://i.goopics.net/nbfqsi.png">
 </div>
<div class="actu-r">
  Forums<br><b>Générale</b>
    </div>
   </div>
  </a>
</div>
<div class="header-column">
  <a href="https://.........." class="hov">
<div class="flex">
     <div class="art-l">
  <img class="max" src="https://i.goopics.net/db9nw2.png">
 </div>
<div class="art-r">
  Forums<br><b>Addon Xenforo</b>
     </div>
    </div>
   </a>
</div>
<div class="header-column">
  <a href="https://.............." class="hov">
<div class="flex">
     <div class="blocu-l">
  <img class="max" src="https://i.goopics.net/y7hxt1.png">
 </div>
<div class="blocu-r">
  Forums<br><b>Question</b>
    </div>
   </div>
  </a>
</div>
<div class="header-column">
  <a href="https://................" class="hov">
<div class="flex">
     <div class="suppor-l">
  <img class="max" src="https://i.goopics.net/fyw1cb.png">
 </div>
<div class="suppor-r">
  Forum<br><b>Tous supports</b>
    </div>
   </div>
  </a>
 </div>
</div>
    <style>
    .header-container {
    display: flex;
    width: 100%;
    padding: 5px;
    margin-bottom: 10px;
    background: #fefefe;
    border-top: 1px solid #dfdfdf;
    border-left: 1px solid #d8d8d8;
    border-right: 1px solid #d8d8d8;
    border-bottom: 1px solid #d8d8d8;
    border-radius: 4px;
}
.header-column {
    flex: 1;
    overflow: hidden;
    text-align: center;
}
.flex {
    display: flex;
    width: 100%;
    padding: 6px;
}
        .max {
    max-width: 40px;
}
        img {
    max-width: 100%;
    height: auto;
}
        img {
    border-style: none;
}
.onglet-l {
    flex: 1;
    border: 1px solid #b3b3b3;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    background: #D9D9D9;
    padding: 6px 0 4px 0;
}
.onglet-r {
    flex: 3;
    border: 1px solid #b3b3b3;
    border-left: none;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    background: #E6E6E6;
    padding: 4px 4px 0 4px;
    color: #404040;
    font-size: 16px;
}
        .actu-l {
    flex: 1;
    border: 1px solid #eb9393;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    background: #f7d4d4;
    padding: 6px 0 4px 0;
}
        .actu-r {
    flex: 3;
    border: 1px solid #eb9393;
    border-left: none;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    background: #fbeaea;
    padding: 4px 4px 0 4px;
    color: #c52626;
    font-size: 16px;
}
        .art-l {
    flex: 1;
    border: 1px solid #80bdff;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    background: #cce5ff;
    padding: 6px 0 4px 0;
}
        .art-r {
    flex: 3;
    border: 1px solid #80bdff;
    border-left: none;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    background: #e6f2ff;
    padding: 4px 4px 0 4px;
    color: #0059b3;
    font-size: 16px;
}
        .blocu-l {
    flex: 1;
    border: 1px solid #ffca80;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    background: #ffeacc;
    padding: 6px 0 4px 0;
}
        .blocu-r {
    flex: 3;
    border: 1px solid #ffca80;
    border-left: none;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    background: #fff4e5;
    padding: 4px 4px 0 4px;
    color: #aa6709;
    font-size: 16px;
}
        .suppor-l {
    flex: 1;
    border: 1px solid #29e31c;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    background: #bff7bb;
    padding: 6px 0 4px 0;
}
        .suppor-r {
    flex: 3;
    border: 1px solid #29e31c;
    border-left: none;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    background: #eafce8;
    padding: 4px 4px 0 4px;
    color: #1ea112;
    font-size: 16px;
}
    </style>

2- В вашем шаблоне: PAGE_CONTAINER найти :
Код:
<xf:if is="$notices.block">
            <xf:macro template="notice_macros" name="notice_list" arg-type="block" arg-notices="{$notices.block}" />
        </xf:if>

        <xf:if is="$notices.scrolling">
            <xf:macro template="notice_macros" name="notice_list" arg-type="scrolling" arg-notices="{$notices.scrolling}" />
        </xf:if>

3- Заменить:
Код:
$0
<xf:include template="Quick_access_tabs" />

1688058982155.png

ПЛАГИН xF2 RMS Filter by AddonsLab

Плагин позволяет фильтровать и искать отзывы на основе пользовательских полей.

Обзор:
Фильтр с AJAX-перезагрузкой списка в действии:
addonslab.gif


Управление фильтрацией элементов RMS добавляется во всплывающее окно «Фильтры»
1688058538589.png


Страница просмотра результатов поиска также улучшена, чтобы отображать элементы управления фильтрами, когда с выбранной категорией связаны пользовательские поля:
1688058547886.png


Каждое поле можно настроить отдельно для отображения в списке фильтров и/или в форме поиска:
1688058562641.png


Поля для выбора можно настроить для отображения в формах с помощью Чекбоксов(флажков) и Раскрывающегося списка с несколькими вариантами для выбора (разрешить поиск/фильтрацию по нескольким значениям) или Раскрывающегося списка/Радиокнопки (разрешить поиск/фильтрацию только по одному значению).

Поля для даты и числовые поля показаны как входные интервалы (от ... до ...), где оба поля являются необязательными, поэтому можно искать любые значения выше/ниже заданных значений или в некотором конкретном интервале.

Также поддерживаются поля для цветов и реализован алгоритм похожих цветов. Все элементы с визуально похожими цветами найдены и внесены в список.

Текстовые поля ищутся и индексируются так же как сам текст в обзоре элемента. Полнотекстовый поиск выполняется с нечетким соответствием, что означает, что искомая фраза не обязательно должна быть в том же порядке, что и в запросе.

В обзоре списка элементов отображаются все активные фильтры. Щелчок по каждому фильтру приведет к удалению поля и повторному запуску поиска с оставшимися фильтрами:
1688058575951.png


Продукт позволяет перемещать фильтры из местоположения по умолчанию во всплывающем окне на боковую панель или над списком элементов. Параметр можно настроить глобально или для каждой категории.
1688058588365.png


1688058594830.png


Поддержка Xenforo Enhanced Search и Elastic Search.
Плагин имеет специальную поддержку для плагина Enhanced Search с Elastic Search . Информация о пользовательских полях индексируется как отдельный тип контента в Elastic Search. Реализован высокопроизводительный алгоритм для фильтрации миллионов записей и отображения только тех элементов в обзоре, которые соответствуют критериям фильтра. Пользовательские поля ищутся только один раз, а результат кешируется для последующих страниц. Несмотря на то, что продукт отлично работает без плагина Enhanced Search, настоятельно рекомендуется использовать этот плагин и Elastic Search в больших базах данных.

Плагин также поддерживает "Фасетный поиск" и фильтры местоположения. Дополнительную информацию об этой функции можно найти в примечаниях к обновлению - Thread Filter by AddonsLab - Updates

Вопрос: Что нужно сделать сразу после установки, чтобы существующие данные были доступны для поиска?

Ответ:
1. Admin -> Setup -> Enhanced search -> Optimize (only if using Enhanced Search)

2. Tools -> Rebuild Caches -> Rebuild RMS Fields - indexation of all existing RMS fields into a separate MySQL table

3. Tools -> Rebuild Caches -> Rebuild search index - select Custom RMS fields as content type and rebuild.

4. Admin -> Forums -> Custom RMS fields -> [Edit a field] - check Allow Filter checkbox if you want the field to be shown in filters.

5. Admin -> Forums -> Nodes [Edit a node] - set up the fields to be shown in RMS list directly under "Show in Item List".

Ознакомьтесь с описанием плагина, чтобы получить более подробную информацию о функциях.

ПЛАГИН xF2 [8WR] Discord Integration

Дополнение позволит пользователям связать свой аккаунт Discord с их учётной записью на форуме, интеграция с форумом и распределение прав на его основе, с возможность отправки сообщений форума на сервер Discord.

Войдите, чтобы просмотреть встроенный медиафайл
Основные возможности:
  • Вход на форум через аккаунт Discord
  • Распределение групп на основе групп форума
  • Используется имя пользователя как на форуме
  • Юзер получат бан как на сервере так и на форуме
  • Размещение новых тем, ответов и обновлений статусов на свой сервер

ПЛАГИН xF2 [JUM] Who Has Visited (Lite)

Простой виджет для отображения пользователей, посетивших форум за последние X часов (по умолчанию - 24).
Это облегченная версия плагина. В нем нет и не планируется дополнительных функций и настроек.

ПЛАГИН xF2 [J] XFRM Extras

Возможности:
  • Ограничение скачивания ресурсов за 24 часа
  • Лайк ресурса для скачивания
  • Минимальное количество сообщений для скачивания ресурсов
  • Право для обновления всех ресурсов
  • Виджет для отображения Рекомендуемых ресурсов
  • Право для обхода ограничений
  • Право на просмотр собственных ресурсов (WTF?!)

ПЛАГИН xF2 Thread & Post BB Code for XF2

При помощи данного плагина вы можете указывать ссылки на сообщения и темы.
[post=1]Post 1[/post] - будет ссылка на 1 сообщение
[thread=1]A Thread[/thread] - будет ссылка на 1 тему
1687980053300.png

ПЛАГИН xF2 [XTR] Hot Threads

Этот простой аддон показывает значок движущегося пламени в списке тем.
Управление горячими темами с подсчетами ответов.

1687977682967.png


Вы можете управлять своими горячими темами с помощью свойств style . Просто выберите движущееся изображение .расширение gif в зависимости от количества ответов.

Размер изображения должен быть 16x16px.

1687977696406.png

ПЛАГИН xF2 [OzzModz] XFRM: Downloads Country Restrict

Ограничение на скачивания ресурсов пользователями из определенных стран

Особенности:
  • Возможность запретить скачивание ресурса для выбранных стран (как глобальный список, так и отдельный список для каждого ресурса)
  • Автоматическое обновление файла базы данных GeoIP Lite
  • Поддержка REST-API
  • Поддерживает работу [OzzModz] XFRM: Purchasable Resources (покупка ресурсов)
  • Поддержка [XFA] RM Marketplace (покупка и продление лицензии)
  • Разрешение на использование списков запрета отдельных стран в ресурсах
  • Разрешение на обход проверки страны

ПЛАГИН xF2 [XFA] Multiple Countdowns - XF2

Для работы требуется - [XFA] Core.

Это дополнение позволяет создавать неограниченное количество таймеров обратного отсчета, выводить в ваших виджетах, вверху всех страниц в заголовке или на выделенной странице форума!
Страница предназначена для полного управления счетчиками и доступна на основе прав групп пользователей.

Особенности:
  • Безлимитное количество таймеров
  • Права для групп пользователей:
    • Управление таймерами
    • Просмотр страницы с таймерами
  • Создание таймера:
    • Тайтлы
    • Описание (только для показа на отдельной странице) с WYSIWYG редактором
    • Ссылки
    • Дата начала отсчёта (опционально)
    • Дата окончания отсчёта
    • Выбор место положения, виджетом в сайдбаре, шапке, на отдельной странице или всё вместе
  • Повторное создание таймеров на основе имеющихся:
    • Тайтлы
    • Описание (только для показа на отдельной странице) с WYSIWYG редактором
    • Ссылки
    • Дата начала отсчёта (опционально)
    • Дата окончания отсчёта
    • Выбор место положения, виджетом в сайдбаре, шапке, на отдельной странице или всё вместе
  • Анимированные таймеры
  • Отдельная страница с таймерами и подробным их описанием
  • Настройка вывода таймеров в сайдбаре
  • Лимит на показ определённого количества таймеров
  • Скрытие таймеров которые превышают x часов в будущем

Фильтровать

Назад
Верх Низ