Новости, страницы и письма
Публикации, статические страницы и шаблоны писем
Новости
Управление контентом → Новости. Обычный редактор: заголовок, краткое описание для ленты, полный текст, картинка.
- «Краткое описание» показывается в ленте. Если его не заполнить, лента возьмёт начало полного текста, и выглядит это обычно плохо.
- «Ссылка» уводит с карточки на указанный адрес вместо страницы новости. Удобно для анонсов, которые живут в Discord.
- «Полноразмерная новость» убирает боковую колонку на странице.
- «Кастомный CSS» и «Кастомный JS» оформляют одну конкретную публикацию. Такие поля есть и у новостей, и у страниц.
Про свой JS
Скрипт из этого поля выполнится у каждого, кто открыл страницу. Это доступ к коду сайта, поэтому пускайте в редактор новостей только тех, кому доверяете как разработчику.
Сервер чистит тексты новостей от опасной разметки. Поля CSS и JS он не трогает.
Импорт из ВКонтакте
Новости можно не писать дважды. Включите в .env:
VK_LONGPOLL=1
VK_APIKEY=токен-сообществаПосле этого посты из сообщества приезжают на сайт сами: разметка ВК превращается в HTML, ссылки и хештеги остаются кликабельными, картинки скачиваются в storage. Токен нужен от имени сообщества, с правами на стену.
Статические страницы
Управление контентом → Статические страницы. Правила, донат-соглашение, «о проекте», FAQ — всё, что не новость.
| Поле | Что делает |
|---|---|
| Заголовок | Название страницы |
| Путь | Адрес: rules даст /page/rules |
| Описание (meta-description) | Для поисковиков и превью |
| Содержимое | Сама страница |
| Полноразмерная страница | Убирает боковую колонку |
Страницу «Правила» по адресу /page/rules движок создаёт сам при первом запуске, с текстом-рыбой внутри. Именно на неё ведёт чекбокс «согласен с правилами» при регистрации, поэтому удалить её нельзя — кнопки удаления у этой строки просто нет. Текст замените своим, всё остальное трогать не нужно.
Страницы серверов и привилегий делать не нужно
Они собираются сами из описаний в карточках сервера и донат-группы. Статическая копия быстро разъедется с реальными данными.
Письма
Управление контентом → Email-сообщения. Три шаблона, по одному на каждое системное письмо:
| Шаблон | Когда уходит |
|---|---|
| Активация | После регистрации, с кодом подтверждения |
| Сброс пароля | По запросу восстановления, со ссылкой |
| Новое устройство | При входе с незнакомого устройства |
В каждом шаблоне есть тема и HTML-тело. Подстановки:
| Плейсхолдер | Куда подставляется |
|---|---|
{USERNAME} | Ник игрока |
{SITENAME} | Название проекта из .env |
{CODE} | Код активации |
{LINK} | Ссылка сброса пароля |
{IP} | IP, с которого зашли |
Плейсхолдеры работают не в каждом письме: {CODE} есть только в активации, а {LINK} и {IP} — в двух остальных. Лишний плейсхолдер останется в письме обычным текстом.
Кнопка «Отправить тестовое» шлёт письмо на указанный адрес прямо из админки. Это единственный надёжный способ проверить SMTP, и сделать это надо раньше, чем вы включите обязательное подтверждение почты.
Шаблоны писем переводятся, как и остальной контент: игрок с английским интерфейсом получит английское письмо, если перевод заполнен.
Что переводится
Почти весь контент проекта можно перевести на другие языки, не заводя копий записей:
| Сущность | Переводимые поля |
|---|---|
| Новость | заголовок, краткое описание, текст |
| Страница | заголовок, описание, контент |
| Сервер | название, слоган, описание, контент, строки таблицы |
| Товар и кит | название, описание |
| Категория | название, описание |
| Донат-группа | название, описание, особенности |
| Донат-право | название, описание |
| Кит привилегии | название, описание |
| Период | название |
| Мод | название, описание |
| Письмо | тема, тело |
Как это устроено и где редактировать переводы, читайте в разделе Языки и переводы.