Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

выбор сервера при регистрации (для кастомных ролей)

Программировать - значит понимать
Мар
215
299
Только чтение
Вроде бы сделал всё правильно , но учитывая то , что там белый цвет . Там у меня не видно текста . Но мне надо или поменять цвет или сделать её кастомной .
 
Решение
Предлагаю создать все заново и идти по инструкции. Создаем дополнительное поле:
ID поля: server_choice
Заголовок: Сервер
Место отображения: Персональная информация
Тип поля: Выпадающее меню с выбором одного варианта
Настройки для полей с вариантами ответов:
1749922595395.png
Обязательное поле (галочка)
Показывать на странице регистрации (галочка)
HTML для вывода значения:
HTML:
<span class="userBanner server-{$choice}">{$value}</span>

Переходим к модификации шаблонов, чтобы вывести выбранный сервер в профиль. Переходим по ссылке АдресФорума/admin.php?template-modifications/add

Шаблон: member_view
Ключ модификации: server
Тип поиска: Простая замена
Найти:
HTML:
                                <xf:contentcheck><xf:userbanners user="$user"...
Программировать - значит понимать
Мар
215
299
Только чтение
Мар
99
326
Заблокированный
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
Я почти ничего не понял, распишите подробнее, что вы хотите сделать


OFFTOP

Колпачёк, так как чел не умеет объяснять, я сделаю это за него...

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

UPD: я например, хз как это делать =(






Telegram: @K0T0BICH
ВКонтакте: vk.com/rostislav_kotov
 
Ноя
1,681
4,481
Команда форума
Администратор
Предлагаю создать все заново и идти по инструкции. Создаем дополнительное поле:
ID поля: server_choice
Заголовок: Сервер
Место отображения: Персональная информация
Тип поля: Выпадающее меню с выбором одного варианта
Настройки для полей с вариантами ответов:
1749922595395.png
Обязательное поле (галочка)
Показывать на странице регистрации (галочка)
HTML для вывода значения:
HTML:
<span class="userBanner server-{$choice}">{$value}</span>

Переходим к модификации шаблонов, чтобы вывести выбранный сервер в профиль. Переходим по ссылке АдресФорума/admin.php?template-modifications/add

Шаблон: member_view
Ключ модификации: server
Тип поиска: Простая замена
Найти:
HTML:
                                <xf:contentcheck><xf:userbanners user="$user" /></xf:contentcheck>
Заменить:
HTML:
$0
<xf:if is="$user.Profile.custom_fields.server_choice">
    <div class="serverWrapper" style="margin-top: 6px;">
        <span style="font-size: 13px; font-weight: 600; color: @xf-textColorMuted;">
              СЕРВЕР:
        </span>
        <xf:macro name="renderServerName" arg-id="{$user.Profile.custom_fields.server_choice}" />
      </div>
</xf:if>

<xf:macro name="renderServerName" arg-id="">
    <xf:if is="$id == '1'">
        <span class="userBanner server-1">Петербург</span>
    <xf:elseif is="$id == '2'" />
        <span class="userBanner server-2">Сочи</span>
    <xf:elseif is="$id == '3'" />
        <span class="userBanner server-3">Москва</span>
    <xf:elseif is="$id == '4'" />
        <span class="userBanner server-4">Казань</span>
    <xf:elseif is="$id == '5'" />
        <span class="userBanner server-5">Воронеж</span>
    <xf:elseif is="$id == '6'" />
        <span class="userBanner server-6">Ростов</span>
    </xf:if>
</xf:macro>
В шаблон extra.less
Less:
.userBanner
{
    color: white;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 71%;
    border-radius: 1000px 450px 1000px 450px;
    padding: 5px 7px;
    background-size: 700% 700%;
    animation: AnimBanner 10s ease infinite;
    
    &.server-1
    {
        background-image: linear-gradient(270deg, #ff4e50, #f9d423);
    }
    
    &.server-2
    {
        background-image: linear-gradient(270deg, #ffe259, #ffa751);
        color: #222
    }
    
    &.server-3
    {
        background-image: linear-gradient(270deg, #00c6ff, #0072ff);
    }
    
    &.server-4
    {
        background-image: linear-gradient(270deg, #43cea2, #185a9d)
    }
    
    &.server-5
    {
        background-image: linear-gradient(270deg, #f7971e, #ffd200);
    }
    
    &.server-6
    {
        background-image: linear-gradient(270deg, #f7971e, #ffd200);
    }
}

@keyframes AnimBanner {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 50%
    }

    100% {
        background-position: 0% 50%
    }
}

Если вы не хотите, чтобы серверы были, как баннеры, и хотите сделать по-своему, то меняете класс userBanner на свой в дополнительном поле, HTML для вывода значения:
HTML:
<span class="userBanner server-{$choice}">{$value}</span>
Потом переходите в модификацию и меняете классы там
HTML:
$0
<xf:if is="$user.Profile.custom_fields.server_choice">
    <div class="serverWrapper" style="margin-top: 6px;">
        <span style="font-size: 13px; font-weight: 600; color: @xf-textColorMuted;">
              СЕРВЕР:
        </span>
        <xf:macro name="renderServerName" arg-id="{$user.Profile.custom_fields.server_choice}" />
      </div>
</xf:if>

<xf:macro name="renderServerName" arg-id="">
    <xf:if is="$id == '1'">
        <span class="userBanner server-1">Петербург</span>
    <xf:elseif is="$id == '2'" />
        <span class="userBanner server-2">Сочи</span>
    <xf:elseif is="$id == '3'" />
        <span class="userBanner server-3">Москва</span>
    <xf:elseif is="$id == '4'" />
        <span class="userBanner server-4">Казань</span>
    <xf:elseif is="$id == '5'" />
        <span class="userBanner server-5">Воронеж</span>
    <xf:elseif is="$id == '6'" />
        <span class="userBanner server-6">Ростов</span>
    </xf:if>
</xf:macro>

Единственный вариант, который я нашел, чтобы вывести выбранный сервер в профиль - это только через макрос. Мне даже интересно как у них это реализовано

1749923625834.png
 
Сверху