Информация актуальная для SphereWeb 2.
Синтаксис для работы с шаблоном можно ознакомиться на официальном сайте
Для того чтоб в шаблоне указать путь к CSS / JS / IMG
{{ template }} - выводит ссылку к папке с шаблоном.
Языки сайта.
Есть несколько функций для отображения.
Функция getLangList() - возвращает массив языков используемых.
Первый в списке массива будет активный язык (выбранный пользователем).
Каждый массив имеет 3 объекта.
1. lang (тип string) - код языка : ru, en, es
2. name (тип string) - название языка: русский, english, español
3. isActive (тип bool) - выбранный ли пользователем этот язык.
Пример как использовать. Мы будем использовать цикл, так как имеем дело с массивом.
Результат
Информации о сервере.
Функция {{ getServerAll() }} возвращает массив с экземплярами объектов serverModel
Расмотрим какие объекты мы можем использовать.
getId() - ID сервера (int)
getName() - Название сервера (string)
getRateExp() - Рейт EXP (int)
getRateSp() - Рейт SP (int)
getRateAdena() - Рейт Адены (int)
getrateDrop() - Рейт Дропа (int)
getRateSpoil() - Рейт Спойла (int)
getDateStartServer() - Дата старта сервера (string или если не установлено null)
getChronicle() - Версия игры (string)
getLauncherEnabled() - подключен ли к данному серверу SphereLauncher (bool).
getTimezone() - таймзона сервера (string).
getPage() - возвращает либо null (если не установлена страница описания сервера) либо объект
-> getPoster() - возвращает путь до изображения новости (string)
-> getLang() - язык новости (ru,en,es,pl...) (string)
-> getPageId - ID страницы (int)
-> getDateCreate() - дата создания новости (DateTime)
getStatus() - возвращает объект с следующими данными:
-> isDisabled() - был ли отключен сервер, сервер может быть отключен если нет доступа к его БД.
-> isEnable() - включен ли вывод статуса сервера (bool).
-> getOnline() - возвращает кол-во игроков в онлайне сейчас (int).
-> getLoginServer() - возвращает true / false доступен ли loginserver.
-> getGameServer() - возвращает true / false доступен ли gameserver.
Расмотрим примеры использования.
Результат
Как узнать используя шаблон, сколько серверов на сервере?
Помимо того что мы можем просто посчитать кол-во элементов массива getServerAll(), мы просто можем обратиться к функции {{ getServerCount() }}, которая вернет N серверов на сервере.
Cтатистика.
Для статистики имеется следующие функции statistic_get_pvp, statistic_get_pk, statistic_players_online_time, statistic_get_exp, statistic_get_clans, statistic_get_castle.
Расмотрим вывод статистики pvp.
Во первых тут выводится статистика сервера по умолчанию.
А если у несколько серверов?
Тогда первым аргументом функции statistic_get_pvp указывается ID сервера, список ID серверов можно получить из функции getServerAll().
Давайте рассмотрим такой вариант.
Тут мы указали уже ID сервера и выведется статистика всех серверов.
Для примера второй аргумент выводит N людей из статистики, но не больше 10.
Может создать вопрос, а как узнать, какие есть параметры кроме player_name, pvp ?
Мы можем использовать функцию dump() для просмотра содержимого.
Результат
{{ player.level }}, {{ player.class_id }} и т.д. вы можете использовать в данном цикле и выводить информацию из выше массива.
Чтоб вывести клановые эмблемы нужно воспользоваться функцией {{ clan_icon(player.alliance_crest) }} или {{ clan_icon(player.clan_crest) }} для вывода альянс значка или кланового.
Функция clan_icon сразу вернет элемент <img.../>
Фильтр raw отмечает значение как "безопасный", что означает, что в блокеэкранирования эта переменная будет выведена как не экранируема
Новости.
Вывод новостей через функцию last_news()
Функция возвращает массив с новостями, может принимать аргумент кол-во последних новостей, по умолчанию 10.
Способ применения.
В news будут следующие параметры
id - id новости.
name - название новости.
description - описание, будет обрезано до 300 символов.
date_create - дата создание новости.
poster - название изображения новости.
link - ссылка на другую страницу (к примеру форум).
Мы использовали функцию {{getPageLink(news)}} , которая вернет ссылку для перехода на другую страницу.
Синтаксис для работы с шаблоном можно ознакомиться на официальном сайте
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или Регистрация
.Для того чтоб в шаблоне указать путь к CSS / JS / IMG
{{ template }} - выводит ссылку к папке с шаблоном.

Языки сайта.

Есть несколько функций для отображения.
Функция getLangList() - возвращает массив языков используемых.
Первый в списке массива будет активный язык (выбранный пользователем).
Каждый массив имеет 3 объекта.
1. lang (тип string) - код языка : ru, en, es
2. name (тип string) - название языка: русский, english, español
3. isActive (тип bool) - выбранный ли пользователем этот язык.
Пример как использовать. Мы будем использовать цикл, так как имеем дело с массивом.
HTML:
{% for lang in getLangList() %}
Мой сайт использует язык {{ lang.lang }}, который называется {{ lang.name }}, и активен ли он: {{ lang.isActive }}
{% endfor %}

Используйте функцию {{ lang_active() }}, которая вернет объект.
{{ lang_active().lang }} - код языка : ru, en, es
{{ lang_active().name }} - название языка: русский, english, español
{{ lang_active().lang }} - код языка : ru, en, es
{{ lang_active().name }} - название языка: русский, english, español
Используйте функцию {{ lang_active(false) }}, которая вернет массив объектов.
Далее используйте цикл как это мы делали с функцией {{ getLangList() }} .
Все объекты lang возвращают 3 параметра: lang, name, isActive.
Далее используйте цикл как это мы делали с функцией {{ getLangList() }} .
Все объекты lang возвращают 3 параметра: lang, name, isActive.
Информации о сервере.
Функция {{ getServerAll() }} возвращает массив с экземплярами объектов serverModel
Расмотрим какие объекты мы можем использовать.
getId() - ID сервера (int)
getName() - Название сервера (string)
getRateExp() - Рейт EXP (int)
getRateSp() - Рейт SP (int)
getRateAdena() - Рейт Адены (int)
getrateDrop() - Рейт Дропа (int)
getRateSpoil() - Рейт Спойла (int)
getDateStartServer() - Дата старта сервера (string или если не установлено null)
getChronicle() - Версия игры (string)
getLauncherEnabled() - подключен ли к данному серверу SphereLauncher (bool).
getTimezone() - таймзона сервера (string).
getPage() - возвращает либо null (если не установлена страница описания сервера) либо объект
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или Регистрация
-> getPoster() - возвращает путь до изображения новости (string)
-> getLang() - язык новости (ru,en,es,pl...) (string)
-> getPageId - ID страницы (int)
-> getDateCreate() - дата создания новости (DateTime)
getStatus() - возвращает объект с следующими данными:
-> isDisabled() - был ли отключен сервер, сервер может быть отключен если нет доступа к его БД.
-> isEnable() - включен ли вывод статуса сервера (bool).
-> getOnline() - возвращает кол-во игроков в онлайне сейчас (int).
-> getLoginServer() - возвращает true / false доступен ли loginserver.
-> getGameServer() - возвращает true / false доступен ли gameserver.
Расмотрим примеры использования.
HTML:
{% for server in getServerAll() %}
Мой сервер: {{ server.getName }}
Версия игры {{ server.chronicle }} - x{{ server.rateExp }}
Сервер: {% if server.getStatus().getGameServer() %} Online {% else %} Offline {% endif %}
Онлайн: {{ server.getStatus().getOnline() }}
Макс. онлайн: {{ server.getMaxOnline() }}
{% set MaxOnlinePr = min((server.getStatus().getOnline() / server.getMaxOnline() * 100), 100) %}
Процент нагрузки: {{ MaxOnlinePr }}%
{% endfor %}

Как узнать используя шаблон, сколько серверов на сервере?
Помимо того что мы можем просто посчитать кол-во элементов массива getServerAll(), мы просто можем обратиться к функции {{ getServerCount() }}, которая вернет N серверов на сервере.
Cтатистика.
Для статистики имеется следующие функции statistic_get_pvp, statistic_get_pk, statistic_players_online_time, statistic_get_exp, statistic_get_clans, statistic_get_castle.
Расмотрим вывод статистики pvp.
HTML:
{% for player in statistic_get_pvp() %}
{{player.player_name}} - {{player.pvp}}
{% endfor %}

Во первых тут выводится статистика сервера по умолчанию.
А если у несколько серверов?
Тогда первым аргументом функции statistic_get_pvp указывается ID сервера, список ID серверов можно получить из функции getServerAll().
Давайте рассмотрим такой вариант.
HTML:
{% for server in getServerAll() %}
{% for player in statistic_get_pvp(server.getId(), 10) %}
{{player.player_name}} - {{player.pvp}}
{% endfor %}
{% endfor %}
Для примера второй аргумент выводит N людей из статистики, но не больше 10.
Может создать вопрос, а как узнать, какие есть параметры кроме player_name, pvp ?
Мы можем использовать функцию dump() для просмотра содержимого.
HTML:
{% for player in statistic_get_pk(0, 1) %}
{{dump(player)|raw}}
{% endfor %}

{{ player.level }}, {{ player.class_id }} и т.д. вы можете использовать в данном цикле и выводить информацию из выше массива.
Чтоб вывести клановые эмблемы нужно воспользоваться функцией {{ clan_icon(player.alliance_crest) }} или {{ clan_icon(player.clan_crest) }} для вывода альянс значка или кланового.
Функция clan_icon сразу вернет элемент <img.../>
Код:
{% for player in statistic_get_pk(0, 1) %}
{{ clan_icon(player.clan_crest)|raw }}
{% endfor %}

Фильтр raw отмечает значение как "безопасный", что означает, что в блокеэкранирования эта переменная будет выведена как не экранируема
Новости.
Вывод новостей через функцию last_news()
Функция возвращает массив с новостями, может принимать аргумент кол-во последних новостей, по умолчанию 10.
Способ применения.
HTML:
<section class="content__news news">
{% for news in last_news() %}
<a href="{{getPageLink(news)}}" class="news__post post">
<div
class="post__img"
style="background-image: url({{news_poster(news.poster)}});"
></div>
<div class="post__date">{{news.date_create|date("d.m.Y")}}</div>
<div class="post__title post__title_mb">{{news.name}}</div>
<div class="post__content">{{news.description|raw}}</div>
</a>
{% endfor %}
</section>
id - id новости.
name - название новости.
description - описание, будет обрезано до 300 символов.
date_create - дата создание новости.
poster - название изображения новости.
link - ссылка на другую страницу (к примеру форум).
Мы использовали функцию {{getPageLink(news)}} , которая вернет ссылку для перехода на другую страницу.