Jack_Mithel
Проверенные
- Сообщения
- 41
- Решения
- 1
- Реакции
- 15
- Баллы
- 8
Тоже самое что и здесь, но с одним отличием, это создание кастомной страницы блокировки пользователя без установки плагина.
1. Включаем режим разработчика, проще всего через плагин.
2. Идём в шаблоны и создаём новый шаблон

Называем на своё усмотрение, у меня для примера custom_page_ban
Код для вставки в шаблон тот же что и с предыдущей темы, ну или своё по вкусу.
Далее в extra.less CSS код или же прямо в шаблон но под тег <xf:css>
Сохраняем и открываем модификации шаблонов.
/admin.php?template-modifications/
Создаём новую модификацию, если нету кнопки - включаем режим разработчика через плагин в самом начале (можно и через config в корне файлов, но смысл бегать постоянно туда).

Шаблон: error
Ключ модификации: на своё усмотрение (у меня для примера custom_page_ban)
Описание: на своё усмотрение
Тип поиска: Регулярное выражение
Найти:
Сохраняем, можно выключить режим разработчика.
Результат тот же что и с прошлого мануала но без применения плагина.

1. Включаем режим разработчика, проще всего через плагин.
У Вас недостаточно прав для просмотра ссылок.
Вход или Регистрация
2. Идём в шаблоны и создаём новый шаблон

Называем на своё усмотрение, у меня для примера custom_page_ban
Код для вставки в шаблон тот же что и с предыдущей темы, ну или своё по вкусу.
Код:
<div class="blockMessage blockMessage--center">
<div class="ban_header">
<div class="banIcon">
<img src="https://media.tenor.com/LbLLAUaVJzcAAAAi/duck-cry-cry.gif" alt="Ban Icon">
</div>
<div class="ban_header_text">
<div class="banTitle">{{ phrase('Доступ к форуму заблокирован') }}</div>
<div class="banSubTitle">Ваш аккаунт заблокирован за нарушение правил форума.</div>
</div>
</div>
<div class="banPageContainer">
<div class="banCard">
<strong>Заблокировал</strong>
<xf:username user="{$xf.visitor.Ban.BanUser}" rich="true" notooltip="true" />
</div>
<div class="banCard">
<strong>Дата начала</strong>
{{ date($xf.visitor.Ban.ban_date) }}
</div>
<div class="banCard">
<strong>Причина</strong>
{{ $xf.visitor.Ban.user_reason ?: phrase('n_a') }}
</div>
<div class="banCard">
<strong>Разблокировка</strong>
{{ $xf.visitor.Ban.end_date ? date($xf.visitor.Ban.end_date) : phrase('never') }}
</div>
</div>
<div class="banFooter">
Ваше имя пользователя: <span class="highlight">{$xf.visitor.username}</span><br />
ID пользователя: <span class="highlight">{$xf.visitor.user_id}</span><br /><br />
</div>
</div>
Далее в extra.less CSS код или же прямо в шаблон но под тег <xf:css>
CSS:
.banPageContainer {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
background-color: #1a1a1a;
color: #fff;
padding: 40px;
border-radius: 10px;
font-family: Arial, sans-serif;
max-width: 800px;
margin: 0 auto;
.banCard {
background: #2a2a2a;
border: 1px solid #444;
border-radius: 10px;
padding: 20px;
text-align: center;
strong {
display: block;
color: #2d88ff;
font-size: 14px;
margin-bottom: 5px;
}
}
}
.banTitle {
text-align: center;
font-size: 24px;
margin-top: 20px;
margin-bottom: 10px;
font-weight: bold;
}
.banSubTitle {
text-align: center;
margin-bottom: 30px;
color: #bbb;
}
.banIcon {
text-align: center;
img {
width: 200px;
height: auto;
}
}
.banFooter {
text-align: center;
margin-top: 30px;
color: #888;
font-size: 14px;
}
.ban_header {
display: flex;
justify-content: center;
align-items: center;
}
.highlight {
color: #2d88ff;
font-weight: bold;
}
Сохраняем и открываем модификации шаблонов.
/admin.php?template-modifications/
Создаём новую модификацию, если нету кнопки - включаем режим разработчика через плагин в самом начале (можно и через config в корне файлов, но смысл бегать постоянно туда).

Шаблон: error
Ключ модификации: на своё усмотрение (у меня для примера custom_page_ban)
Описание: на своё усмотрение
Тип поиска: Регулярное выражение
Найти:
Заменить:/^(.*?)$/s
В template="custom_page_ban" скобках указываем название созданого шаблона ранее.<xf:if is="$xf.visitor.is_banned">
<xf:include template="custom_page_ban" />
<xf:else />
$0
</xf:if>
Сохраняем, можно выключить режим разработчика.
Результат тот же что и с прошлого мануала но без применения плагина.

