Перейти к основному содержимому

Глобальные переменные MMO-DEV WEB

В каждом шаблоне MMO-DEV WEB доступны глобальные переменные через объект mw и встроенные переменные Twig.

Объект mw​

Основные свойства​

ПеременнаяТипОписание
mw.langstringТекущий язык (ru, en и др.)
mw.pathstringБазовый путь приложения
mw.csrfstringCSRF-токен для форм
mw.userobject|nullТекущий авторизованный пользователь (или null для гостя)
mw.configobjectКонфигурация проекта
mw.projectNamestringНазвание проекта
mw.navigationarrayНавигационное меню
mw.gameobjectИгровые настройки и данные
mw.versionstringВерсия платформы MMO-DEV WEB
mw.timeintТекущее Unix-время
mw.isDebugboolВключён ли режим отладки
mw.isDevelopmentboolСреда разработки

Примеры использования​

Примеры использования
{# Язык #}
<html lang="{{ mw.lang }}">

{# CSRF-токен в формах #}
<form method="post">
<input type="hidden" name="_token" value="{{ mw.csrf }}">
</form>

{# Проверка авторизации #}
{% if mw.user %}
Привет, {{ mw.user.name }}!
{% else %}
<a href="/login">Войти</a>
{% endif %}

{# Конфигурация #}
{{ mw.projectName }}
{{ mw.config.siteName }}

{# Отладка #}
{% if mw.isDebug %}
{{ dump(_context) }}
{% endif %}

Объект mw.request​

Информация о текущем HTTP-запросе:

ПеременнаяТипОписание
mw.request.hoststringХост (example.com)
mw.request.uristringПолный URI (/page?key=value)
mw.request.pathstringПуть без query string (/page)
mw.request.methodstringHTTP-метод (GET, POST)
mw.request.schemestringСхема (http или https)
mw.request.schemeAndHttpHoststringПолный хост (https://example.com)
mw.request.queryStringstringQuery string (key=value&foo=bar)
mw.request.isSecureboolHTTPS-соединение
mw.request.isXmlHttpRequestboolAJAX-запрос

Примеры​

Примеры
{# Текущий URL #}
{{ mw.request.schemeAndHttpHost }}{{ mw.request.uri }}

{# Активная навигация #}
<a href="/news" class="{{ mw.request.path starts with '/news' ? 'active' : '' }}">
Новости
</a>

{# Определение AJAX #}
{% if mw.request.isXmlHttpRequest %}
{# Рендерим без layout #}
{{ content }}
{% else %}
{% extends '@site/layout.html.twig' %}
{% endif %}

Встроенные переменные Twig​

ПеременнаяОписание
_selfИмя текущего шаблона
_contextВсе переменные текущего контекста (полезно для dump())
_charsetТекущая кодировка (обычно UTF-8)
Встроенные переменные Twig
{# Просмотр всех переменных #}
{{ dump(_context|keys) }}

{# Имя текущего шаблона #}
<!-- Template: {{ _self }} -->

Контекстные переменные​

Эти переменные доступны в зависимости от контроллера и страницы:

Общие​

ПеременнаяТипОписание
is_guestboolЯвляется ли посетитель гостем
active_pagestringИдентификатор текущей страницы
notificationsarrayУведомления пользователя
balancefloatБаланс пользователя

Серверы​

ПеременнаяТипОписание
serversarrayСписок игровых серверов
current_serverobjectТекущий выбранный сервер

Примеры​

Примеры
{# Гостевой контент #}
{% if is_guest %}
<div class="guest-banner">
Зарегистрируйтесь, чтобы получить доступ ко всем возможностям!
</div>
{% endif %}

{# Уведомления #}
{% if notifications is defined and notifications is not empty %}
<div class="notifications">
{% for notification in notifications %}
<div class="alert alert-{{ notification.type }}">
{{ notification.message }}
</div>
{% endfor %}
</div>
{% endif %}

{# Серверы #}
{% for server in servers %}
<div class="server {{ server == current_server ? 'active' : '' }}">
{{ server.name }} - {{ server.online }} онлайн
</div>
{% endfor %}

{# Баланс #}
{% if balance is defined %}
Баланс: {{ balance|number_format(2, ',', ' ') }} руб.
{% endif %}